c list dictionary tutorial with code examples
Tento tutoriál vysvetľuje zoznam C # a slovník s príkladmi. Dozviete sa, ako inicializovať, naplniť a pristupovať k prvkom v C # slovníku a zozname:
V našom staršom výučbe o zbierkach C # sme sa dozvedeli o typoch kolekcií prítomných v C #, ako sú ArrayList, Hashtable, Stack, SortedList atď. Medzi týmito typmi kolekcií je bežné, že môžu ukladať akýkoľvek typ dátových položiek.
To sa zdá byť celkom užitočné na ukladanie rôznych dátových typov do jednej entity zhromažďovania, ale nevýhodou je, že pri načítaní údajov zo zbierky je potrebný dátový prenos na vhodný dátový typ. Bez dátového vysielania program vrhne výnimku za behu a môže brániť aplikácii.
=> Cvičné návody pre C # ZDARMA pre všetkých
Na vyriešenie týchto problémov C # ponúka aj triedy všeobecných zbierok. Všeobecná kolekcia ponúka lepší výkon počas ukladania a načítania položiek.
Čo sa dozviete:
Zoznam C #
O zozname ArrayList sme sa už dozvedeli v predchádzajúcich článkoch. Zoznam je v zásade podobný zoznamu ArrayList, rozdiel je iba v tom, že je všeobecný. Zoznam má jedinečnú vlastnosť rozširovania svojej veľkosti, ktorá rastie, podobne ako zoznam polí.
Ako inicializovať zoznam?
Zoznam môžeme inicializovať nasledujúcimi spôsobmi:
//using List type for initialization List listInteger = new List(); //using IList type for initialization IList listString = new List();
Ak sa pozriete na vyššie uvedený príklad, môžete vidieť, že v prvom riadku sme použili Zoznam na inicializáciu celočíselného zoznamu. Ale v druhom riadku sme použili IList na inicializáciu zoznamu reťazcov. Pre svoj program môžete použiť ktorékoľvek z nich. Zoznam je vlastne implementáciou rozhrania IList.
Ako pridať a vložiť prvok do zoznamu?
Podobne ako v zozname ArrayList môžeme do zoznamu pridať prvok pomocou metódy Add (). Metóda add prijíma hodnotu dátového typu ako argument.
Syntax
ListName.Add(DataType value);
Pozrime sa na jednoduchý program na pridanie údajov do zoznamu a do zoznamu IList.
Program:
class Program { static void Main(string() args) { //using List type for initialization List listInteger = new List ;(); //Add elements to the list listInteger.Add(1); listInteger.Add(2); listInteger.Add(3); //using IList type for initialization IList listString = new List(); listString.Add('One'); listString.Add('Two'); listString.Add('Three'); Console.ReadLine(); } }
Element je možné pridať aj priamo pri inicializácii Zoznamu. Hodnotu môžeme priamo pridať do zoznamu v čase samotnej inicializácie, podobným spôsobom, ako sme to urobili počas našej kapitoly Arrays.
Toto je možné pridať umiestnením zložených zátvoriek za Zoznam a následným napísaním hodnoty do neho oddelených čiarkami. Poďme trochu zmeniť vyššie uvedený program, aby sme mohli pridať hodnotu priamo počas inicializácie.
webové služby testujúce otázky a odpovede na pohovor
Náš program bude teda teraz vyzerať takto:
class Program { static void Main(string() args) { //using List type for initialization List listInteger = new List () {1,2,3}; //using IList type for initialization IList listString = new List(); listString.Add('One'); listString.Add('Two'); listString.Add('Three'); Console.ReadLine(); } }
Vo vyššie uvedenom programe sme inicializovali hodnoty celočíselného zoznamu na začiatku počas inicializácie. Umožnilo nám to odovzdať hodnotu priamo bez toho, aby sme pre každú hodnotu písali metódu Add (). To je celkom užitočné, ak máme obmedzené kvantifikovateľné množstvo údajov, ktoré musíme vložiť do zoznamu.
Ako získať prístup k zoznamu?
K jednotlivým položkám zo zoznamu môžeme získať prístup pomocou indexu. Register je možné vložiť do hranatej zátvorky za názvom zoznamu.
Syntax
dataType Val = list_Name(index);
Poďme sa teraz pozrieť na jednoduchý program na získanie údajov zo zoznamu, ktorý sme vytvorili v predchádzajúcom programe.
Program
class Program { static void Main(string() args) { //using List type for initialization List listInteger = new List () {1,2,3}; int val = listInteger(1); Console.WriteLine(val); } }
Výstupom nasledujúceho programu bude hodnota v indexe 1. Index začína od 0, výstup bude:
dva
Teraz povedzme, že chceme získať všetky údaje zo Zoznamu, môžeme to urobiť pomocou slučky for-each alebo for a loop.
Pre každú slučku
Pre každú slučku môžeme použiť všetky údaje zo zoznamu.
class Program { static void Main(string() args) { //using List type for initialization List listInteger = new List () {1,2,3}; foreach (var val in listInteger) { Console.WriteLine(val); } } }
Tu sme prešli zoznamom položiek, ktoré pre každú slučku deklarujú hodnotu premennej. Toto umožní každej slučke prechádzať zoznamom, kým v ňom nebudú nejaké údaje.
Pre slučku
Na použitie cyklu for potrebujeme poznať počet prvkov nachádzajúcich sa v zozname. Na získanie počtu prvkov je možné použiť metódu count ().
class Program { static void Main(string() args) { //using List type for initialization List listInteger = new List () {1,2,3}; //finding the size of the list using count int size = listInteger.Count; for (int i =0; iNiekedy možno budeme musieť vložiť nový prvok do zoznamu. Aby sme to dosiahli, musíme na vloženie novej metódy kamkoľvek do zoznamu použiť metódu Insert (). Metóda vloženia akceptuje dva argumenty, prvý je index, do ktorého chcete vložiť údaje, a druhý sú údaje, ktoré chcete vložiť.
Syntax pre vložku je:
List_Name.Insert(index, element_to_be_inserted);
Teraz vložíme prvok do zoznamu, ktorý sme vytvorili predtým. Do vyššie uvedeného programu pridáme vyhlásenie o vložení a pokúsime sa zistiť, ako to funguje:
class Program { static void Main(string() args) { //using List type for initialization List listInteger = new List () {1,2,3}; //finding the size of the list using count int size = listInteger.Count; for (int i =0; i Ak vykonáme vyššie uvedený program, výstup bude:
jeden
dva
3
Zoznamová hodnota po vložení novej hodnoty
jeden
22
dva
3
Po cykle for sme pridali príkaz insert na vloženie celého čísla 22 do indexu 1 v predtým definovanom zozname. Potom sme pre každú slučku napísali a, aby sme vytlačili všetky prvky, ktoré sa teraz nachádzajú v zozname (po vložení prvých údajov).
Z výstupu jasne vidíme, že všetky prvky zoznamu boli posunuté dopredu, aby sa uvoľnil priestor pre nový prvok v indexe 1. Index 1 má teraz 22 ako prvok a predchádzajúci prvok v indexe 1, tj. 2, sa posunul na ďalší index a tak ďalej.
Ako odstrániť prvok zo zoznamu?
Niekedy môžeme tiež požiadať o odstránenie položiek zo zoznamu. C # na to ponúka dve rôzne metódy. Tieto dve metódy sú Remove () a RemoveAt (). Odstrániť sa používa na odstránenie určitého prvku zo zoznamu a RemoveAt na odstránenie ľubovoľného prvku prítomného v danom indexe.
Pozrime sa na syntax.
Syntax
Remove(Element name); RemoveAt(index);
Teraz pridajme príkaz Odstrániť na predchádzajúci kód a uvidíme, čo sa stane.
čo je deque c ++
class Program { static void Main(string() args) { //using List type for initialization List listInteger = new List () {1,2,3}; //finding the size of the list using count int size = listInteger.Count; for (int i =0; i Výstupom vyššie uvedeného programu bude:
jeden
dva
3
Odstraňuje sa hodnota zo zoznamu
jeden
3
Vo vyššie uvedenom programe sme použili metódu remove na odstránenie prvku 2 zo zoznamu. Ako môžete vidieť na výstupe po vykonaní metódy Odstrániť, zoznam už neobsahuje prvok, ktorý sme odstránili.
Podobne môžeme použiť aj metódu RemoveAt. Nahraďte metódu Remove vo vyššie uvedenom programe metódou RemoveAt () a odovzdajme indexové číslo ako parameter.
class Program { staticvoid Main(string() args) { //using List type for initialization List listInteger = new List () {1,2,3}; //finding the size of the list using count int size = listInteger.Count; for (int i =0; i Výstupom vyššie uvedeného programu bude:
jeden
dva
3
Odstraňuje sa hodnota zo zoznamu
jeden
dva
Vo vyššie uvedenom programe môžete jasne vidieť, že sme odstránili prvok prítomný v indexe 2, a nie celé číslo 2. Preto môžeme v závislosti na požiadavke použiť na odstránenie určitého prvku z a buď Remove () alebo RemoveAt (). zoznam.
C # slovník
Slovník v C # je podobný ako slovník, ktorý máme v akomkoľvek jazyku. Aj tu máme zbierku slov a ich významov. Tieto slová sú známe ako kľúčové a ich význam alebo definíciu je možné definovať ako hodnoty.
Slovník akceptuje dva argumenty, prvý je kľúčový a druhý hodnotový. Môže sa inicializovať pomocou premennej triedy slovníka alebo rozhrania IDictionary.
Syntax pre slovník je:
Dictionary
Pozrime sa na jednoduchý program na inicializáciu slovníka:
Dictionary data = new Dictionary();
Vo vyššie uvedenom programe môžete jasne vidieť, že sme slovníkové údaje inicializovali kľúčom aj hodnotou ako reťazec. Pre kľúče a hodnoty však môžete použiť akýkoľvek pár dátových typov. Napríklad, ak zmeníme vyššie uvedené vyhlásenie tak, aby obsahovalo iný dátový typ, bude tiež správne.
Dictionary data = new Dictionary();
Dátový typ vo vnútri hranatej zátvorky je pre kľúče a hodnoty. Ako kľúč a hodnotu môžete ponechať akýkoľvek typ údajov.
Ako pridať kľúče a hodnoty do slovníka?
Uvideli sme, ako môžeme inicializovať slovník. Teraz pridáme kľúče a ich hodnoty do slovníka. Slovník je veľmi užitočný, ak chcete do zoznamu pridať rôzne údaje a ich hodnoty. Na pridanie údajov do slovníka je možné použiť metódu Add ().
Syntax
DictionaryVariableName.Add(Key, Value);
Teraz zahrňme príkaz Add do vyššie uvedeného programu, aby sme do slovníka pridali kľúče a hodnoty.
Program
class Program { static void Main(string() args) { Dictionary dctn = new Dictionary(); dctn.Add('one', 'first'); dctn.Add('two', 'second'); dctn.Add('three', 'Third'); } }
Vo vyššie uvedenom programe sme na pridanie kľúča a hodnôt do slovníka použili metódu Add (). Prvý parameter odovzdaný metóde Add () je kľúč a druhý parameter je hodnota kľúča.
Ako získať prístup ku kľúčom a hodnotám zo slovníka?
Ako je popísané v našom návode na zoznam, k prvkom zo slovníka môžeme tiež pristupovať niekoľkými rôznymi spôsobmi. Tu si povieme niekoľko dôležitých spôsobov, ako k nim môžeme získať prístup. Budeme diskutovať o cykle, o každej cykle a indexe pre prístup k dátovým položkám.
Register možno použiť na prístup k špecifickým hodnotám zo zoznamu.
Smyčku For možno použiť na prístup alebo získanie všetkých prvkov zo slovníka, vyžaduje však veľkosť slovníka, aby sa slučka zastavila. Pre každú slučku je flexibilnejšia, dokáže načítať všetky prítomné údaje zo slovníka bez potreby veľkosti slovníka.
Používanie indexovania
Prvok z indexu možno na prístup k prvku použiť podobne ako pole, základným rozdielom je, že namiesto indexu potrebujeme na prístup k hodnotám kľúče.
Syntax
Dictionary_Name(key);
Program
class Program { static void Main(string() args) { Dictionary dctn = new Dictionary(); dctn.Add('one', 'first'); dctn.Add('two', 'second'); dctn.Add('three', 'Third'); string value = dctn('two'); Console.WriteLine(value); Console.ReadLine(); } }
Výstupom vyššie uvedeného programu bude:
druhý
Použitie pre slučku pre prístup k prvku
Smyčku for možno použiť na prístup ku všetkým prvkom slovníka. Potrebuje však tiež získať počet prvkov vo vnútri slovníka pre požadovanú početnú iteráciu.
Pridajme cyklus for do vyššie uvedeného programu, aby sme načítali všetky hodnoty zo slovníka.
class Program { static void Main(string() args) { Dictionary dctn = new Dictionary(); dctn.Add('one', 'first'); dctn.Add('two', 'second'); dctn.Add('three', 'Third'); for(int i =0; i Výstupom vyššie uvedeného programu bude:
Prvok v kľúči: jedna a jeho hodnota je: prvá
Prvok v kľúči: dva a jeho hodnota je: sekunda
Prvok v kľúči: tri a jeho hodnota je: Tretí
Vo vyššie uvedenom programe sme na získanie kľúča v danom indexe použili metódu ElementAt (), potom sme rovnaký kľúč použili na získanie údajov hodnoty kľúča. Smyčka for iteruje cez všetky údaje vo slovníku. Vlastnosť count sa použila na získanie veľkosti slovníka pre iteráciu.
Používanie každej slučky
Podobne ako pri cykle for, môžeme použiť aj cyklus for each.
Pozrime sa na vyššie uvedený program so slučkou pre každú z nich.
class Program { static void Main(string() args) { Dictionary dctn = new Dictionary(); dctn.Add('one', 'first'); dctn.Add('two', 'second'); dctn.Add('three', 'Third'); foreach (KeyValuePair item in dctn) { Console.WriteLine('The Key is :'+ item.Key+' - The value is: '+ item.Value); } Console.ReadLine(); } }
Výstupom vyššie uvedeného programu bude:
Kľúč je: jeden - hodnota je: prvá
Kľúč je: dva - hodnota je: druhá
Kľúč je: tri - hodnota je: tretia
Vyššie uvedený program používa na deklaráciu premennej KeyValuePair, potom iterujeme cez každý z párov kľúč - hodnota v slovníku a tlačíme ho do konzoly.
Ako overiť prítomnosť údajov v slovníku?
Niekedy musíme overiť, či určitý kľúč alebo hodnota v slovníku existuje alebo nie. Môžeme to overiť pomocou dvoch metód, t. J. ContainsValue () a ContainsKey () na kontrolu existujúceho kľúča alebo hodnoty vo vnútri slovníka.
Obsahuje metódu, ktorá sa používa na overenie, či je daná hodnota v slovníku alebo nie. Metóda ContainsKey sa používa na kontrolu, či daný kľúč v slovníku existuje alebo nie.
Syntax
Dictionary_Name.ContainsValue(Value); Dictionary_Name.ContainsKey(Key);
Napíšme jednoduchý program na overenie pomocou metódy Contains a ContainsKey.
class Program { static void Main(string() args) { Dictionary dctn = new Dictionary(); dctn.Add('one', 'first'); dctn.Add('two', 'second'); dctn.Add('three', 'Third'); bool key = dctn.ContainsKey('one'); bool val = dctn.ContainsValue('four'); Console.WriteLine('The key one is available : ' + key); Console.WriteLine('The value four is available : ' + val); Console.ReadLine(); } }
Výstupom vyššie uvedeného programu bude:
Kľúčový je k dispozícii: True
K dispozícii je hodnota štyri: False
Vo vyššie uvedenom programe sme najskôr pomocou metódy ContainsKey overili, či je daný kľúč vo vnútri slovníka. Keď sa kľúč nachádza v slovníku, metóda vráti hodnotu true. Potom pomocou ContainsValue určíme, či je daná hodnota prítomná alebo nie. Pretože hodnota „štyri“ nie je vo vnútri slovníka, vráti hodnotu false.
Ako odstrániť prvok zo slovníka?
Môže nastať čas, keď budeme musieť zo slovníka odstrániť určitý pár kľúč - hodnota, aby sme splnili určitú logiku programovania. Pomocou metódy Odstrániť je možné na základe kľúča odstrániť ľubovoľný pár zo slovníka.
Syntax
Remove(key);
Program
class Program { static void Main(string() args) { Dictionary dctn = new Dictionary(); dctn.Add('one', 'first'); dctn.Add('two', 'second'); dctn.Add('three', 'Third'); //removing key two dctn.Remove('two'); //validating if the key is present or not bool key = dctn.ContainsKey('two'); Console.WriteLine('The key two is available : ' + key); Console.ReadLine(); } }
Výstupom vyššie uvedeného programu bude:
Kľúčové dva sú k dispozícii: False
Ako nájdem svoj bezpečnostný kód siete
Vo vyššie uvedenom programe sme najskôr do slovníka pridali pár kľúč - hodnota. Potom sme odstránili kľúč zo slovníka a pomocou metódy ContainsKey () sme overili, či dvojica kľúč - hodnota už v slovníku nie je.
Záver
Zoznam ukladá prvky konkrétneho dátového typu a pri pridávaní položiek rastie. Môže tiež ukladať viac duplicitných prvkov. K položkám v zozname môžeme ľahko získať prístup pomocou indexu alebo slučiek. Zoznam je veľmi užitočný pri ukladaní veľkého množstva údajov.
Slovník sa používa na ukladanie párov kľúč - hodnota. Tu musia byť kľúče jedinečné. Hodnoty zo slovníka je možné načítať pomocou slučky alebo indexu. Môžeme tiež overiť kľúče alebo hodnoty pomocou metódy Obsahuje.
=> Celú sériu školení C # si môžete pozrieť tu
Odporúčané čítanie
- Výukový program na spracovanie výnimiek C # s príkladmi kódu
- Výukový program pre Python DateTime s príkladmi
- Výukový program pre funkcie / metódy C # s príkladmi kódu
- Výukový program SVN: Správa zdrojového kódu pomocou subverzie
- C # String Tutorial - Metódy reťazcov s príkladmi kódu
- Výukový program pre korytnačky SVN: Revízie v úložisku kódov
- Tutorial pre Python Tuple s praktickými príkladmi
- Príkaz Ls v systéme Unix s príkladmi