logo

C#-sanakirja esimerkkeineen

C#:ssa sanakirja on yleinen kokoelma, jota käytetään yleensä avain/arvo-parien tallentamiseen. Sanakirjan toiminta on melko samanlaista kuin ei-yleinen hashtable. Sanakirjan etuna on, että se on yleinen tyyppi. Sanakirja määritellään kohdassa System.Collections.Generic. Se on luonteeltaan dynaaminen eli sanakirjan koko kasvaa tarpeen mukaan. Tärkeitä kohtia:

  • Sanakirja-luokka toteuttaa
    • Sanakirja Käyttöliittymä
    • IReadOnlyCollection Käyttöliittymä
    • IReadOnlyDictionary Käyttöliittymä
    • Sanakirja Käyttöliittymä
  • Sanakirjassa avain ei voi olla tyhjä, mutta arvo voi olla.
  • Sanakirjassa avaimen on oltava yksilöllinen. Kaksoisavaimet eivät ole sallittuja, jos yrität käyttää kaksoisavainta, kääntäjä tekee poikkeuksen.
  • Sanakirjaan voit tallentaa vain samantyyppisiä elementtejä.
  • Sanakirjan kapasiteetti on niiden elementtien määrä, jotka sanakirja voi sisältää.

Kuinka luodaan sanakirja?

Sanakirjaluokassa on 7 rakentajaa joita käytetään sanakirjan luomiseen, käytämme tässä vain Dictionary()-konstruktoria ja jos haluat oppia lisää rakentajista, katso C# | Sanakirjaluokka . Sanakirja(): Tätä rakentajaa käytetään luomaan Sanakirja-luokan esiintymä, joka on tyhjä, jolla on oletusarvoinen alkukapasiteetti ja joka käyttää avaintyypin oletusarvojen vertailuohjelmaa seuraavasti: Vaihe 1: IncludeSystem.Collections.Generic nimiavaruus ohjelmassasi avainsanan avulla. Syntaksi:



using System.Collections.Generic;>

Vaihe 2: Luo sanakirja käyttämällä sanakirjaluokkaa alla olevan kuvan mukaisesti:

dhanashree verma
Dictionary dictionary_name = new Dictionary();>

Vaihe 3: Jos haluat lisätä elementtejä sanakirjaasi, käytä Add()-menetelmää avain/arvo-parien lisäämiseen sanakirjaasi. Voit myös lisätä avain/arvo-parin sanakirjaan ilman Add-menetelmää. Kuten alla olevassa esimerkissä näkyy. Vaihe 4: Sanakirjan avain/arvo-paria käytetään käyttämällä kolme eri tavoilla:

    for loop: Voit käyttää for loop -näppäintä päästäksesi käsiksi sanakirjan avain/arvo-pareihin. Esimerkki:

CSharp








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

>

>

    Hakemiston käyttö: Voit käyttää sanakirjan yksittäistä avain/arvo-paria käyttämällä sen indeksiarvoa. Tässä sinun tarvitsee vain määrittää avain hakemistoon saadaksesi arvon annetusta sanakirjasta, indeksiä ei tarvitse määrittää. Indeksoija ottaa aina avaimen parametriksi, jos annettua avainta ei löydy sanakirjasta, se antaa KeyNotFoundException . Esimerkki:

CSharp

ohjelmistojen testaus ja tyypit




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

>

>

    foreach-silmukka: Foreach-silmukan avulla voit käyttää sanakirjan avain/arvo-pareja. Kuten alla olevassa esimerkissä näkyy, käytämme sanakirjaa käyttämällä foreach-silmukkaa.

Esimerkki:

CSharp




python-polun asetus

// 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>>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>>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);> >}> >}> }>

>

>

Lähtö:

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

Kuinka poistaa elementtejä sanakirjasta?

Sanakirjassa voit poistaa elementtejä sanakirjasta. Sanakirjaluokka tarjoaa kaksi eri menetelmää elementtien poistamiseen, ja menetelmät ovat:

  • Asia selvä : Tämä menetelmä poistaa kaikki avaimet ja arvot sanakirjasta.
  • Poista : Tämä menetelmä poistaa sanakirjasta arvon määritetyllä avaimella.

Esimerkki:

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>>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>>hän>>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>>hän>>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);> > >}> }>

>

1/1000

java-merkkijonon arvo
>

Lähtö:

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>

Kuinka tarkistaa elementtien saatavuus sanakirjassa?

Sanakirjassa voit tarkistaa, onko annettu avain tai arvo määritetyssä sanakirjassa vai ei. Sanakirja-luokka tarjoaa kaksi erilaista tarkistusmenetelmää ja menetelmät ovat:

  • ContainsKey : Tätä menetelmää käytetään tarkistamaan, sisältääkö sanakirja määritetyn avaimen.
  • SisältääValue : Tätä menetelmää käytetään tarkistamaan, sisältääkö sanakirja tietyn arvon.

Esimerkki:

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

>

>

Lähtö:

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