logo

C# Woordenboek met voorbeelden

In C# is Dictionary een generieke verzameling die doorgaans wordt gebruikt om sleutel/waarde-paren op te slaan. De werking van Dictionary is vrijwel gelijk aan de niet-generieke hashtabel. Het voordeel van Dictionary is dat het een generiek type is. Woordenboek wordt gedefinieerd onder System.Collections.Generic naamruimte. Het is dynamisch van aard, wat betekent dat de omvang van het woordenboek groeit afhankelijk van de behoefte. Belangrijke punten:

  • De klasse Dictionary implementeert de
    • IWoordenboek Koppel
    • IReadOnlyCollection Koppel
    • IReadOnlyDictionary Koppel
    • IWoordenboek Koppel
  • In Dictionary kan de sleutel niet null zijn, maar de waarde wel.
  • In Dictionary moet de sleutel uniek zijn. Dubbele sleutels zijn niet toegestaan. Als u dubbele sleutels probeert te gebruiken, zal de compiler een uitzondering genereren.
  • In Dictionary kunt u alleen dezelfde typen elementen opslaan.
  • De capaciteit van een woordenboek is het aantal elementen dat een woordenboek kan bevatten.

Hoe maak je het woordenboek?

Woordenboekklasse heeft 7 constructeurs die worden gebruikt om de Dictionary te maken, hier gebruiken we alleen de Dictionary()-constructor en als u meer wilt weten over constructors, raadpleeg dan C# | Woordenboekklas . Woordenboek(): Deze constructor wordt gebruikt om een ​​exemplaar van de klasse Dictionary te maken dat leeg is, de standaard initiële capaciteit heeft en als volgt de standaard gelijkheidsvergelijker voor het sleuteltype gebruikt: Stap 1: Neem System.Collections.Generieke naamruimte op in uw programma met behulp van het trefwoord. Syntaxis:



using System.Collections.Generic;>

Stap 2: Maak een woordenboek met behulp van de Dictionary-klasse, zoals hieronder weergegeven:

Dictionary dictionary_name = new Dictionary();>

Stap 3: Als u elementen aan uw woordenboek wilt toevoegen, gebruikt u de methode Add() om sleutel/waarde-paren aan uw woordenboek toe te voegen. En u kunt ook een sleutel/waarde-paar aan het woordenboek toevoegen zonder de Add-methode te gebruiken. Zoals weergegeven in het onderstaande voorbeeld. Stap 4: Het sleutel/waarde-paar van het woordenboek is toegankelijk via drie verschillende manieren:

    for loop: U kunt for loop gebruiken om toegang te krijgen tot de sleutel/waarde-paren van het woordenboek. Voorbeeld:

CSerp








for>(>int> x=0; x { Console.WriteLine('{0} and {1}', My_dict1.Keys.ElementAt(x), My_dict1[ My_dict1.Keys.ElementAt(x)]); }>

>

>

    Index gebruiken: U kunt toegang krijgen tot individuele sleutel/waarde-paren van het woordenboek door de indexwaarde ervan te gebruiken. Hier specificeert u gewoon de sleutel in de index om de waarde uit het gegeven woordenboek te halen, u hoeft de index niet op te geven. Indexer neemt altijd de sleutel als parameter, als de opgegeven sleutel niet beschikbaar is in het woordenboek, dan wordt deze gegeven KeyNotFoundException . Voorbeeld:

CSerp

wolf of vos




Console.WriteLine('Value>is>:{0}', My_dicti[1123]);> Console.WriteLine('Value>is>:{0}', My_dicti[1125]);>

>

>

    foreach-lus: U kunt foreach-lus gebruiken om toegang te krijgen tot de sleutel/waarde-paren van het woordenboek. Zoals in het onderstaande voorbeeld wordt weergegeven, hebben we toegang tot het woordenboek met behulp van een foreach-lus.

Voorbeeld:

CSerp




// 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>>Mijn_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>in> My_dict1)> >{> >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>>Mijn_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);> >}> >}> }>

>

>

Uitgang:

1123 and Welcome 1124 and to 1125 and techcodeview.com a.1 and Dog a.2 and Cat a.3 and Pig>

Hoe elementen uit het woordenboek verwijderen?

In Dictionary mag je elementen uit de Dictionary verwijderen. De klasse Dictionary biedt twee verschillende methoden om elementen te verwijderen en de methoden zijn:

  • Duidelijk : Deze methode verwijdert alle sleutels en waarden uit het woordenboek.
  • Verwijderen : Deze methode verwijdert de waarde met de opgegeven sleutel uit de Dictionary.

Voorbeeld:

CSerp




// 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>>Mijn_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>>hij>in> My_dict)> >{> >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>>hij>in> My_dict)> >{> >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);> > >}> }>

>

>

Uitgang:

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>

Hoe controleer ik de beschikbaarheid van elementen in het woordenboek?

In Woordenboek kunt u controleren of de opgegeven sleutel of waarde aanwezig is in het opgegeven woordenboek of niet. De klasse Dictionary biedt twee verschillende methoden voor controle en de methoden zijn:

  • Bevat sleutel : Deze methode wordt gebruikt om te controleren of het woordenboek de opgegeven sleutel bevat.
  • Bevatwaarde : Deze methode wordt gebruikt om te controleren of de Dictionary een specifieke waarde bevat.

Voorbeeld:

CSerp




// 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>>Mijn_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...!!');> >}> >}> }>

Hoe het eerste teken in Excel te verwijderen

>

>

Uitgang:

Key is not found...!! Value is found...!!>