C# valodā vārdnīca ir vispārīga kolekcija, ko parasti izmanto atslēgu/vērtību pāru glabāšanai. Vārdnīcas darbība ir diezgan līdzīga neģenerālajai hashtable . Vārdnīcas priekšrocība ir tā, ka tā ir vispārīga. Vārdnīca ir definēta sadaļā System.Collections.Generic nosaukumvieta. Tā ir dinamiska pēc būtības, kas nozīmē, ka vārdnīcas apjoms pieaug atbilstoši vajadzībām. Svarīgi punkti:
- Vārdnīcas klase īsteno
- Vārdnīca Interfeiss
- IReadOnlyCollection
Interfeiss - IReadOnlyDictionary Interfeiss
- Vārdnīca Interfeiss
- Vārdnīcā atslēga nevar būt nulle, bet vērtība var būt.
- Vārdnīcā atslēgai ir jābūt unikālai. Atslēgas dublikāti nav atļauti, ja mēģināt izmantot dublikātu, kompilators izdarīs izņēmumu.
- Vārdnīcā varat saglabāt tikai tāda paša veida elementus.
- Vārdnīcas ietilpība ir vārdnīcas elementu skaits.
Kā izveidot vārdnīcu?
Vārdnīcas klasē ir 7 konstruktori kas tiek izmantoti vārdnīcas izveidošanai, šeit mēs izmantojam tikai Dictionary() konstruktoru un, ja vēlaties uzzināt vairāk par konstruktoriem, skatiet C# | Vārdnīcas klase . Vārdnīca(): Šis konstruktors tiek izmantots, lai izveidotu vārdnīcas klases instanci, kas ir tukša, kurai ir noklusējuma sākotnējā ietilpība un kas izmanto noklusējuma vienādības salīdzinātāju atslēgas veidam, kā norādīts tālāk: 1. darbība: IekļautsSystem.Collections.Generic nosaukumvieta programmā, izmantojot atslēgvārdu. Sintakse:
using System.Collections.Generic;>
2. darbība: Izveidojiet vārdnīcu, izmantojot vārdnīcas klasi, kā parādīts zemāk:
Dictionary dictionary_name = new Dictionary();>
3. darbība: Ja vēlaties pievienot elementus vārdnīcai, izmantojiet Add() metodi, lai vārdnīcā pievienotu atslēgu/vērtību pārus. Varat arī vārdnīcā pievienot atslēgu/vērtību pāri, neizmantojot pievienošanas metodi. Kā parādīts zemāk esošajā piemērā. 4. darbība: Vārdnīcas atslēgas/vērtības pārim var piekļūt, izmantojot trīs Dažādi ceļi:
- for loop: varat izmantot for loop, lai piekļūtu vārdnīcas atslēgu/vērtību pāriem. Piemērs:
CSharp
for>(>int> x=0; x { Console.WriteLine('{0} and {1}', My_dict1.Keys.ElementAt(x), My_dict1[ My_dict1.Keys.ElementAt(x)]); }> |
java nosaukumu piešķiršanas konvencijas
>
virknē ir java
>
- Indeksa izmantošana: varat piekļūt atsevišķam vārdnīcas atslēgas/vērtības pārim, izmantojot tā indeksa vērtību. Šeit jums vienkārši jānorāda atslēga indeksā, lai iegūtu vērtību no dotās vārdnīcas, indekss nav jānorāda. Indeksētājs vienmēr ņem atslēgu kā parametru, ja dotā atslēga vārdnīcā nav pieejama, tad dod KeyNotFoundException . Piemērs:
CSharp
Console.WriteLine('Value>is>:{0}', My_dicti[1123]);> Console.WriteLine('Value>is>:{0}', My_dicti[1125]);> |
>
>
- foreach cilpa: varat izmantot foreach cilpu, lai piekļūtu vārdnīcas atslēgu/vērtību pāriem. Kā parādīts tālāk esošajā piemērā, vārdnīcai piekļūstam, izmantojot foreach cilpu.
Piemērs:
CSharp
treknrakstā CSS
// 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 =>> 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 =>> 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);> >}> >}> }> |
>
>Izvade:
1123 and Welcome 1124 and to 1125 and techcodeview.com a.1 and Dog a.2 and Cat a.3 and Pig>
Kā noņemt elementus no vārdnīcas?
Vārdnīcā ir atļauts noņemt elementus no vārdnīcas. Vārdnīcas klase nodrošina divas dažādas metodes elementu noņemšanai, un metodes ir šādas:
- Skaidrs : Izmantojot šo metodi, no vārdnīcas tiek noņemtas visas atslēgas un vērtības.
- Noņemt : Šī metode no vārdnīcas noņem vērtību ar norādīto atslēgu.
Piemērs:
CSharp
// 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>>Mans_dikts =>> 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>>viņš>>> >{> >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>>viņš>>> >{> >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);> > >}> }> |
rinda java
>
Android versiju vēsture
>Izvade:
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>
Kā pārbaudīt elementu pieejamību vārdnīcā?
Vārdnīcā varat pārbaudīt, vai norādītā atslēga vai vērtība ir vai nav norādītajā vārdnīcā. Klase Vārdnīca nodrošina divas dažādas pārbaudes metodes, un tās ir šādas:
- Satur atslēgu : Šo metodi izmanto, lai pārbaudītu, vai vārdnīcā ir norādītā atslēga.
- SaturVērtību : Šo metodi izmanto, lai pārbaudītu, vai vārdnīcā ir noteikta vērtība.
Piemērs:
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>>Mans_dikts =>> 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...!!');> >}> >}> }> |
>
>Izvade:
Key is not found...!! Value is found...!!>