[Homework] Advanced C# - Arrays, Lists, Stacks, Queues - Problem {7} *Sorted Subset Sums
Здравейте, колеги :)
С цел да наруша принципа си никога да не задавам въпроси, а и защото ми е любопитно: реших тази задача, но както обикновено ми се струва, че може да стане и несравнимо по-кратко - моля ако някой се сеща какво може да се посъкрати или направи по друг начин - да ми даде някаква идея.
Това е решението ми: https://github.com/KatyaMarincheva/SoftUni/blob/master/SoftUni-Homeworks/Advanced%20C%23/01.%20Arrays-Lists-Stacks-Queues-Homework/07.%20Sorted-Subset-Sums/SortedSubsetSums.cs
Благодаря предварително :)
Здравей Fil,
Страшно благодаря за съветите - веднага ще опитам да си направя ново оптимизирано решение :)
Какво имаш предвид под "добре структурираното (отново) решение"?
Имам предвид, че решенията ти винаги са разбити на методи и подредени. По този начин доста лесно става ориентирането в кода, както и промените (например да замениш някой твой метод с вграден такъв, като .Sum()). На мен ми трябваше доста време да се отърва от навика да пиша задачите като един чаршаф отначало до край :D Но се надявам след ООП и КПК курсовете мнозинството колеги да пишат по подобен начин.
Благодаря :)
Моят лош навик, от който още се опитвам да се отърва, е че в "една друга академия" ни забраняваха да използваме вградена функционалност, та оттам ми е останал този навик без да забележа дори за Sum() да използвам собствен метод..... Това беше и основната цел на въпроса ми - сигурна бях че пак съм включила излишен собствен метод.
Във връзка с тази вече стара задача, за мен възникна следния проблем .Някой може ли да ми каже каква е разликата между List.Clear() и List = new List<int>(). Аз като използвах Clear освен съответния лист се изтриваха всички листове от колекцията от листове. С new List<int>() всичко си стана.
http://pastebin.com/yNrt2keH -ред 33 и ред 30
@valcho62,
мисля, че в MSDN има обяснение за това:
https://msdn.microsoft.com/en-us/library/dwb5h52a(v=vs.110).aspx
"
Remarks
Count is set to 0, and references to other objects from elements of the collection are also released."
"references to other objects" в твоя случай са елементите на твоя List of Lists - той също е cleared, в карйна сметка