În C#, Dicționarul este o colecție generică care este utilizată în general pentru a stoca perechi cheie/valoare. Funcționarea Dicționarului este destul de similară cu tabelul hashtable non-generic. Avantajul Dicționarului este că este de tip generic. Dicționarul este definit în System.Collections.Generic namespace. Este de natură dinamică, înseamnă că dimensiunea dicționarului crește în funcție de nevoi. Puncte importante:
- Clasa Dicționar implementează
- IDictionar Interfață
- IReadOnlyCollection
Interfață - IReadOnlyDictionary Interfață
- IDictionar Interfață
- În Dicționar, cheia nu poate fi nulă, dar valoarea poate fi.
- În dicționar, cheia trebuie să fie unică. Cheile duplicate nu sunt permise dacă încercați să utilizați cheile duplicate, atunci compilatorul va arunca o excepție.
- În Dicționar, puteți stoca doar aceleași tipuri de elemente.
- Capacitatea unui Dicționar este numărul de elemente pe care le poate conține Dicționarul.
Cum se creează dicționarul?
Dicţionar class has 7 constructori care sunt folosite pentru a crea dicționarul, aici folosim doar constructorul Dictionary() și dacă doriți să aflați mai multe despre constructori, consultați C# | Dicţionar Class . Dicţionar(): Acest constructor este folosit pentru a crea o instanță a clasei Dicționar care este goală, are capacitatea inițială implicită și utilizează comparatorul de egalitate implicit pentru tipul de cheie, după cum urmează: Pasul 1: Includeți spațiu de nume SystemSystem.Collections.Generic în programul dvs. cu ajutorul utilizării cuvântului cheie. Sintaxă:
using System.Collections.Generic;>
Pasul 2: Creați un dicționar folosind clasa Dicționar, așa cum se arată mai jos:
Dictionary dictionary_name = new Dictionary();>
Pasul 3: Dacă doriți să adăugați elemente în dicționar, utilizați metoda Add() pentru a adăuga perechi cheie/valoare în dicționar. De asemenea, puteți adăuga pereche cheie/valoare în dicționar fără a utiliza metoda Add. După cum se arată în exemplul de mai jos. Pasul 4: Perechea cheie/valoare a Dicționarului este accesată folosind Trei căi diferite:
- bucla for: puteți utiliza bucla for pentru a accesa perechile cheie/valoare ale Dicționarului. Exemplu:
CSharp
ce este numărul alfabetului
for>(>int> x=0; x { Console.WriteLine('{0} and {1}', My_dict1.Keys.ElementAt(x), My_dict1[ My_dict1.Keys.ElementAt(x)]); }> |
>
>
- Folosind Index: Puteți accesa perechea individuală cheie/valoare a Dicționarului folosind valoarea indexului acestuia. Aici, trebuie doar să specificați cheia în index pentru a obține valoarea din dicționarul dat, nu este nevoie să specificați indexul. Indexerul ia întotdeauna cheia ca parametru, dacă cheia dată nu este disponibilă în dicționar, atunci dă KeyNotFoundException . Exemplu:
CSharp
Console.WriteLine('Value>is>:{0}', My_dicti[1123]);> Console.WriteLine('Value>is>:{0}', My_dicti[1125]);> |
>
>
bara de adrese cromată
- bucla foreach: Puteți utiliza bucla foreach pentru a accesa perechile cheie/valoare ale dicționarului. După cum se arată în exemplul de mai jos, accesăm dicționarul folosind o buclă foreach.
Exemplu:
CSharp
// C# program to illustrate how> // to create a dictionary> using> System;> using> System.Collections.Generic;> class> GFG {> >// Main Method> >static> public> void> Main () {> > >// Creating a dictionary> >// using Dictionary class> >Dictionary<>int>,>string>>My_dict1 => >new> Dictionary<>int>,>string>>();>>> // Adding key/value pairs> >// in the Dictionary> >// Using Add() method> >My_dict1.Add(1123, 'Welcome');> >My_dict1.Add(1124, 'to');> >My_dict1.Add(1125, 'techcodeview.com');> > >foreach>(KeyValuePair<>int>,>string>>ele1>>> >{> >Console.WriteLine('{0} and {1}',> >ele1.Key, ele1.Value);> >}> >Console.WriteLine();> > >// Creating another dictionary> >// using Dictionary class> >// adding key/value pairs without> >// using Add method> >Dictionary<>string>,>string>>My_dict2 => >new> Dictionary<>string>,>string>>(){> >{'a.1', 'Dog'},> >{'a.2', 'Cat'},> >{'a.3', 'Pig'} };> > >foreach>(KeyValuePair<>string>,>string>>ele2>>in> My_dict2)> >{> >Console.WriteLine('{0} and {1}', ele2.Key, ele2.Value);> >}> >}> }> |
>
>Ieșire:
1123 and Welcome 1124 and to 1125 and techcodeview.com a.1 and Dog a.2 and Cat a.3 and Pig>
Cum să eliminați elemente din dicționar?
În Dicționar, aveți voie să eliminați elemente din Dicționar. Clasa de dicționar oferă două metode diferite pentru a elimina elemente, iar metodele sunt:
- clar : Această metodă elimină toate cheile și valorile din Dicționar.
- Elimina : Această metodă elimină valoarea cu cheia specificată din Dicționar.
Exemplu:
CSharp
cum se convertesc char în șir java
// C# program to illustrate how> // remove key/value pairs from> // the dictionary> using> System;> using> System.Collections.Generic;> class> GFG {> >// Main Method> >static> public> void> Main() {> > >// Creating a dictionary> >// using Dictionary class> >Dictionary<>int>,>string>>My_dict => >new> Dictionary<>int>,>string>>();>>> // Adding key/value pairs in the> >// Dictionary Using Add() method> >My_dict.Add(1123, 'Welcome');> >My_dict.Add(1124, 'to');> >My_dict.Add(1125, 'techcodeview.com');> > >// Before Remove() method> >foreach>(KeyValuePair<>int>,>string>>el>>> >{> >Console.WriteLine('{0} and {1}',> >ele.Key, ele.Value);> >}> >Console.WriteLine();> > >// Using Remove() method> >My_dict.Remove(1123);> > >// After Remove() method> >foreach>(KeyValuePair<>int>,>string>>el>>> >{> >Console.WriteLine('{0} and {1}',> >ele.Key, ele.Value);> >}> >Console.WriteLine();> > > >// Using Clear() method> >My_dict.Clear();> > >Console.WriteLine('Total number of key/value '+> >'pairs present>in> My_dict:{0}', My_dict.Count);> > >}> }> |
>
>Ieșire:
1123 and Welcome 1124 and to 1125 and techcodeview.com 1124 and to 1125 and techcodeview.com Total number of key/value pairs present in My_dict:0>
Cum se verifică disponibilitatea elementelor în dicționar?
În Dicționar, puteți verifica dacă cheia sau valoarea dată este prezentă sau nu în dicționarul specificat. Clasa Dicționar oferă două metode diferite de verificare, iar metodele sunt:
- Conține cheia : Această metodă este folosită pentru a verifica dacă Dicționarul conține cheia specificată.
- ConțineValoare : Această metodă este utilizată pentru a verifica dacă Dicționarul conține o anumită valoare.
Exemplu:
CSharp
// C# program to illustrate how> // to check the given key or> // value present in the dictionary> // or not> using> System;> using> System.Collections.Generic;> class> GFG {> >// Main Method> >static> public> void> Main () {> > >// Creating a dictionary> >// using Dictionary class> >Dictionary<>int>,>string>>My_dict => >new> Dictionary<>int>,>string>>();>>> // Adding key/value pairs in the> >// Dictionary Using Add() method> >My_dict.Add(1123, 'Welcome');> >My_dict.Add(1124, 'to');> >My_dict.Add(1125, 'techcodeview.com');> > >// Using ContainsKey() method to check> >// the specified key is present or not> >if> (My_dict.ContainsKey(1122)==>true>)> >{> >Console.WriteLine('Key>is> found...!!');> >}> >else> >{> >Console.WriteLine('Key>is> not found...!!');> >}> > >// Using ContainsValue() method to check> >// the specified value is present or not> >if> (My_dict.ContainsValue('techcodeview.com')==>true>)> >{> >Console.WriteLine('Value>is> found...!!');> >}> >else> >{> >Console.WriteLine('Value>is> not found...!!');> >}> >}> }> |
>
>Ieșire:
Key is not found...!! Value is found...!!>