този въпрос се основава на предишна публикация https://stackoverflow.com/a/8425200/737076
Въпросът е как бихте сортирали речника, веднъж създаден, и всичките му деца, и децата на децата.
Мисля за Comparer, но бих искал да получа някои предложения.
този въпрос се основава на предишна публикация https://stackoverflow.com/a/8425200/737076
Въпросът е как бихте сортирали речника, веднъж създаден, и всичките му деца, и децата на децата.
Мисля за Comparer, но бих искал да получа някои предложения.
Речник не може да бъде сортиран. Няма ред на индекса като списък или масив. Можете обаче да вземете ключовете на речника и да сортирате ключовете.
List<string> dictionaryKeys = new List<string>(dict.Keys);
dictionaryKeys.Sort();
След това преминете през списъка, като извлечете стойностите по ред.
for (i = 0; i < dictionaryKeys.Count; i++)
{
string key = dictionaryKeys[i];
string value = dict[key];
}
Това ще бъде симулиран вид речник.
В случай на речник с множество нива, ще трябва да преминете през всички нива и да направите това, като използвате някакъв вид логика.
Въпреки това, ако целта ви е сортиран речник, сигурен съм, че има по-добри начини да съхранявате информацията си, може би List<class_you_created_to_hold_all_the_information>
:)
Търсите SortedDictionary, който е внедрен като двоично дърво за търсене а не hashmap. В допълнение към прилагането му по същия начин, както бихте направили в предишния си въпрос, трябва да предоставите Comparer, за да опишете как да сортирате вашата колекция.
Използвайте SortedDictionary
клас.