Poruszanie się po skomplikowanej kolekcji

Poruszanie się po skomplikowanej kolekcji
Tumeg
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 687
0

Witam, mam w C# kolekcję typu:

Kopiuj
Dictionary<Dictionary<string, string>, int>

Jak odczytać z tego słownik na konkretnym incie ?

Shalom
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Space: the final frontier
  • Postów: 26433
0

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

  • Rejestracja: dni
  • Ostatnio: dni
0

potrzebujesz słownik w drugą stronę
chyba że to rzadko wykonywana operacja, wtedy możesz zrobić:

Kopiuj
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

Wibowit
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: XML Hills
0

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.

Tumeg
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 687
0

Mój błąd, kluczem ma być oczywiście int.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.