O clasă universală de dictionare oferă cartografierea unui set de chei la un set de valori. Fiecare element adăugat în dicționar constă dintr-o valoare și o cheie asociată cu acesta. Obținerea unei valori prin cheia este foarte rapidă, cu o viteză apropiată de O (1), deoarece clasa Dicționar este implementată ca o tabelă hash.
Atâta timp cât obiectul este folosit ca cheie în dicționarul Dicționar. Nu trebuie să se schimbe pentru a reflecta codul hash. Fiecare cheie din dicționarul Dicționar trebuie să fie unică în conformitate cu dicționarul comparator pentru verificarea egalității. Cheia nu poate fi nulă (nulă), iar valoarea poate fi dacă tipul de valoare TValue este un tip de referință.
Dicționarul necesită o verificare a egalității, care va determina dacă cheile se potrivesc. Puteți specifica implementarea interfeței universale IEqualityComparer. folosind constructorul care ia parametrul comparer; dacă nu este specificată nicio implementare, este folosit un comparator implicit universal care verifică egalitatea (EqualityComparer .Default). Dacă tipul TKey implementează interfața universală System.Iquatable. Comparatorul implicit care verifică pentru egalitate folosește această implementare.
Capacitatea colecției de dictionare este numărul de elemente pe care le poate conține un dicționar. Când adăugați elemente în colecția de dicționar, capacitatea sa crește automat în mod necesar prin redistribuirea matricei interne.
Pentru obiecte foarte mari de dicționar. puteți crește capacitatea maximă la 2 miliarde de elemente pe un sistem pe 64 de biți prin setarea atributului activat al elementului de configurare gcAllowVeryLargeObjects la adevărat pentru mediul de rulare.
Pentru instruciunea C ++ foreach (pentru fiecare în C ++, Pentru fiecare în Visual Basic), trebuie să specificați tipul fiecărui element din colecție. Deoarece Dicționarul este o colecție de chei și valori, aici tipul de element nu este tipul de cheie și nu tipul de valoare. Aceste elemente sunt de tipul KeyValuePair. reprezentând o pereche de tip cheie și tip de valoare. De exemplu:
Instrucțiunea foreach este shell-ul enumerator care permite doar citirea din colecție, dar nu scrierea în ea.
Următorul exemplu de cod creează un obiect Dicționar gol pentru șiruri de caractere cu chei de șir și utilizează metoda Add pentru a adăuga mai multe elemente. După cum puteți vedea din exemplu, metoda Add aruncă o ArgumentException atunci când încearcă să adauge o cheie duplicat.
Exemplul utilizează proprietatea elementului (indexatorul din C #) pentru a prelua valorile; Dacă nu există o cheie solicitată, KeyNotFoundException este aruncată și valoarea asociată cheii poate fi înlocuită.
Exemplul ilustrează utilizarea metodei TryGetValue ca o modalitate mai eficientă de a prelua valorile într-un program, de multe ori încearcă să folosească valori-cheie, care nu sunt prezente în dicționar, și demonstrează, de asemenea, metoda ContainsKey de utilizare pentru verificarea existenței cheii înainte de a apela Add.
În cele din urmă, exemplul demonstrează utilizarea metodei Remove.
Informații despre versiune
NET Framework suportat în: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, .NET Framework (profil client) Suportat în: 4, 3.5 cu Biblioteca de clasă portabilă Service Pack 1 Suportată în versiunea : Biblioteca clasa portabila .NET pentru Windows Store Suportat in: Windows 8 .NET aplicatii pentru Windows Phone Suportat in: Windows Phone 8, Silverlight 8.1
Mai multe informații despre Dicționar aici