Cześć,
czy może mi ktoś wyjaśnić jaki jest sens klasy Dictionary w C#? Szczególnie w kontekście tablicy, do której również mogę odnosić się za pomocą klucza (index-u)?
Nie bardzo rozumiem ideę tej klasy i gdzie może ona mi się przydać :-/
To nie przejmuj się tym, programuj sobie, kiedyś może dojdziesz do tego gdy będzie Tobie potrzebna.
a dictionary to nie jest zbior elementow typu: klucz-argument? Wiec wyobraz sobie, ze masz obiekt taki jak człowiek i jego klucze: rasa, krew, data urodzenia, plec, itp. I chcesz miec duza populacje, to mozesz wtedy np pokusic sie o tablice ('array') slownikow ('dictionaries'), czyli wlasnie zbior takich skomplikowanych ludkow, kazdy z innymi argumentami do kluczy, ale klucze maja te same.
Tablica jest indeksowana intem.
Dictionary możesz indeksować czym chcesz, np. Dictionary<string, MyClass>
jest indeksowane stringiem a elementy ma typu MyClass
.
zamiast np. dwóch tablic (T i t) które byś musiał obsługiwać, to robisz Dictionary<T, t>
i masz przyjemniejsze API do obsługi tego.
np.
Policz ilosc wystapien liter w tekscie -> Dictionary<char, int>
i lecisz
Po co mi lodówka, skoro mam pralkę, przecież obie są na prąd.
Tablicą nie zastąpisz słownika, a jeśli spróbujesz to będzie wielokrotnie wolniejsze.