Witam, mam w C# kolekcję typu:
Dictionary<Dictionary<string, string>, int>
Jak odczytać z tego słownik na konkretnym incie ?
Witam, mam w C# kolekcję typu:
Dictionary<Dictionary<string, string>, int>
Jak odczytać z tego słownik na konkretnym incie ?
A nie chciałeś czasem zrobić odwrotnie tego słowanika, tzn mapować inta na słownik? Bo jaki sens mieć Dictionary jako klucz? o_O
potrzebujesz słownik w drugą stronę
chyba że to rzadko wykonywana operacja, wtedy możesz zrobić:
var slownik = kolekcja.First(x => x.Value == 5);
będzie to w cholerę wolniejsze od odwoływania się po kluczu
możesz zrobić sobie słownik dwukierunkowy jeśli chcesz - oczywiście będzie zajmował więcej pamięci i dodawanie, usuwanie elementów będzie wtedy wolniejsze
Mutowalne klucze w mapach doprowadzają to tego, że czasami nie da się odwołać do elementu, jeżeli klucz został zmieniony po zhaszowaniu czy po wstawieniu do drzewa poszukiwań binarnych. W pierwszym przypadku hasz nie będzie się zgadzał i element nie zostanie znaleziony bo będzie szukany w złej liście, w drugim element będzie w złym miejscu i też nie zostanie znaleziony.
Mój błąd, kluczem ma być oczywiście int.