c list dictionary tutorial with code examples
Acest tutorial explică lista C # și dicționarul cu exemple. Veți afla cum să inițializați, să completați și să accesați elemente în dicționarul și lista C #:
În tutorialul nostru anterior despre colecțiile C #, am aflat despre tipurile de colecții prezente în C #, cum ar fi ArrayList, Hashtable, Stack, SortedList, etc. Lucrul obișnuit printre aceste tipuri de colecții este că pot stoca orice tip de element de date.
Acest lucru pare destul de util pentru stocarea diferitelor tipuri de date într-o singură entitate de colectare, dar dezavantajul este că, în timp ce preluați date din colecție, este necesară transmiterea datelor la un tip de date aplicabil. Fără datacast, programul va genera o excepție de rulare și poate împiedica aplicația.
=> GRATUIT C # Tutoriale de instruire pentru toți
Pentru a rezolva aceste probleme, C # oferă și clase de colectare generice. O colecție generică oferă o performanță mai bună în timpul depozitării și recuperării articolelor.
Ce veți învăța:
- Lista C #
- Dicționar C #
- Concluzie
Lista C #
Am aflat deja despre ArrayList în articolele anterioare. Practic, o Listă este similară cu o ArrayList, singura diferență fiind că Lista este generică. Lista are o proprietate unică de a-și extinde dimensiunea pe măsură ce crește, similar cu lista de matrice.
Cum se inițializează o listă?
Putem inițializa o listă în următoarele moduri:
//using List type for initialization List listInteger = new List(); //using IList type for initialization IList listString = new List();
Dacă vă uitați la exemplul de mai sus, puteți vedea că în prima linie am folosit List pentru a inițializa o listă întreagă. Dar în a doua linie, am folosit IList pentru inițializarea listei de șiruri. Puteți utiliza oricare dintre acestea pentru programul dvs. Lista este de fapt implementarea interfeței IList.
Cum se adaugă și se inserează element în listă?
Similar cu ArrayList, putem adăuga un element la Listă folosind metoda Add (). Metoda add acceptă valoarea tipului de date ca argument.
Sintaxă
ListName.Add(DataType value);
Să aruncăm o privire la un program simplu pentru a adăuga date la o listă și 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(); } }
Elementul poate fi, de asemenea, adăugat direct în timpul inițializării listei. Putem adăuga direct valoarea listei în momentul inițializării în sine, într-un mod similar, așa cum am făcut-o în timpul capitolului Arrays.
Acest lucru poate fi adăugat prin plasarea parantezelor cretate după Listă și apoi prin scrierea valorii din interior, separate prin virgule. Să schimbăm puțin programul de mai sus, astfel încât să putem adăuga valoarea direct în timpul inițializării.
youtube la mp3 mai mult de 30 de minute
Deci, programul nostru va arăta acum ca:
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(); } }
În programul de mai sus, am inițializat valorile listei întregi la început în timpul inițializării. Ne-a permis să trecem direct valoarea fără să scriem metoda Add () pentru fiecare valoare. Acest lucru este destul de util dacă avem o cantitate limitată de date cuantificabile pe care trebuie să le introducem într-o listă.
Cum se accesează lista?
Putem accesa articole individuale din listă folosind indexul. Indexul poate fi trecut în paranteză după numele listei.
Sintaxă
dataType Val = list_Name[index];
Acum, să aruncăm o privire la un program simplu pentru a obține datele din lista pe care am creat-o în programul nostru anterior.
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); } }
Ieșirea următorului program va fi valoarea la indexul 1. Indicele începe de la 0, ieșirea va fi:
Două
Acum, să presupunem că dorim să obținem toate datele din Listă, putem face acest lucru folosind bucla pentru fiecare buclă sau pentru o buclă.
Pentru fiecare buclă
Putem folosi pentru fiecare buclă pentru a obține toate datele din listă.
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); } } }
Aici am parcurs lista utilizând pentru fiecare buclă declarând o valoare variabilă. Acest lucru va permite fiecare buclă prin listă până când există unele date în interiorul acesteia.
Pentru Loop
Pentru utilizarea buclei, trebuie să cunoaștem numărul de elemente prezente în listă. Metoda Count () poate fi utilizată pentru a obține numărul elementului.
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; iUneori este posibil să fie nevoie să inserăm un element nou în listă. Pentru a face acest lucru, trebuie să folosim metoda Insert () pentru a adăuga o metodă nouă oriunde în listă. Metoda insert acceptă două argumente, primul este indexul la care doriți să inserați datele și al doilea fiind datele pe care doriți să le inserați.
Sintaxa pentru insert este:
List_Name.Insert(index, element_to_be_inserted);
Acum, să introducem un element în lista pe care am creat-o mai devreme. Vom adăuga o declarație insert la programul de mai sus și vom încerca să vedem cum funcționează:
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 Dacă executăm programul de mai sus, ieșirea va fi:
1
Două
3
Valoarea listei după introducerea unei noi valori
1
22
Două
3
După bucla for, am adăugat instrucțiunea insert pentru a insera numărul întreg 22 la indexul 1 în lista definită anterior. Apoi am scris câte o pentru fiecare buclă pentru a imprima toate elementele prezente acum în listă (După inserarea primelor date).
Putem vedea clar din rezultat că toate elementele listei au fost deplasate înainte pentru a face loc noului element la indexul 1. Indexul 1 are acum 22 ca element și elementul anterior la indexul 1 adică 2 s-a deplasat la următorul index și așa mai departe.
Cum se elimină un element din listă?
Uneori, este posibil să solicităm și eliminarea articolelor din listă. Pentru a face acest lucru, C # oferă două metode diferite. Aceste două metode sunt Remove () și RemoveAt (). Remove este folosit pentru a elimina un anumit element din listă și RemoveAt este utilizat pentru a elimina orice element prezent la indexul dat.
Să analizăm sintaxa.
Sintaxă
Remove(Element name); RemoveAt(index);
Acum, să adăugăm instrucțiunea Remove la codul anterior și să vedem ce se întâmplă.
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 Ieșirea programului de mai sus va fi:
1
Două
3
Se elimină valoarea din listă
1
3
În programul de mai sus, am folosit metoda de eliminare pentru a elimina elementul 2 din listă. După cum puteți vedea în rezultat odată ce metoda Remove a fost executată, lista nu mai conține elementul pe care l-am eliminat.
care este cel mai bun downloader video pe YouTube
În mod similar, putem folosi și metoda RemoveAt. Să înlocuim metoda Remove din programul de mai sus cu metoda RemoveAt () și să trecem numărul de index ca parametru.
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 Ieșirea programului de mai sus va fi:
1
Două
3
Se elimină valoarea din listă
1
Două
În programul de mai sus, puteți vedea clar că am eliminat elementul prezent la indexul 2, mai degrabă decât eliminarea întregului 2. Prin urmare, în funcție de cerință, puteți utiliza fie Remove (), fie RemoveAt () pentru a elimina un anumit element dintr-un listă.
Dicționar C #
Dicționarul din C # este similar cu Dicționarul pe care îl avem în orice limbă. Aici avem și o colecție de cuvinte și semnificațiile lor. Cuvintele sunt cunoscute ca cheie, iar semnificațiile sau definiția lor pot fi definite ca valori.
Dicționarul acceptă două argumente, primul este cheia, iar al doilea este valoarea. Poate fi inițializat utilizând o variabilă fie a clasei Dictionary, fie a interfeței IDictionary.
Sintaxa pentru Dicționar este:
Dictionary
Să aruncăm o privire la un program simplu de inițializare a dicționarului:
Dictionary data = new Dictionary();
În programul de mai sus, puteți vedea clar că am inițializat datele din dicționar atât cu cheie, cât și cu valoare ca șir. Dar puteți utiliza orice pereche de tipuri de date pentru chei și valori. De exemplu, dacă schimbăm declarația de mai sus pentru a conține un alt tip de date, atunci va fi și corectă.
Dictionary data = new Dictionary();
Tipul de date din paranteză unghiulară este pentru taste și valori. Puteți păstra orice tip de date ca cheie și valoare.
Cum se adaugă chei și valori într-un dicționar?
Am văzut cum putem inițializa un dicționar. Acum vom adăuga cheile și valorile lor în dicționar. Dicționarul este destul de util atunci când doriți să adăugați date diferite și valorile acestora într-o listă. Metoda Add () poate fi utilizată pentru a adăuga date în dicționar.
Sintaxă
DictionaryVariableName.Add(Key, Value);
Acum, permiteți-ne să includem declarația Add în programul de mai sus pentru a adăuga chei și valori în dicționar.
Program
class Program { static void Main(string[] args) { Dictionary dctn = new Dictionary(); dctn.Add('one', 'first'); dctn.Add('two', 'second'); dctn.Add('three', 'Third'); } }
În programul de mai sus, am folosit metoda Add () pentru a adăuga cheia și valorile în dicționar. Primul parametru transmis metodei Add () este cheia, iar al doilea parametru este valoarea cheii.
Cum se accesează cheile și valorile dintr-un dicționar?
După cum sa discutat în tutorialul nostru din listă, putem accesa și elemente din dicționar în mai multe moduri diferite. Vom discuta câteva dintre modalitățile importante prin care îl putem accesa aici. Vom discuta pentru buclă, pentru fiecare buclă și index pentru accesarea elementelor de date.
Indexul poate fi utilizat pentru a accesa valori specifice din listă.
For loop poate fi folosit pentru a accesa sau prelua toate elementele din dicționar, dar necesită dimensiunea dicționarului pentru a opri bucla. Fiecare buclă este mai flexibilă, poate prelua toate datele prezente din dicționar fără a necesita dimensiunea dicționarului.
Utilizarea indexării
Un element din index poate fi folosit similar cu o matrice pentru a accesa elementul, diferența de bază fiind că în loc de index avem nevoie de chei pentru a accesa valorile.
Sintaxă
cea mai bună eliminare a malware-ului pentru Windows 7
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(); } }
Ieșirea programului de mai sus va fi:
al doilea
Utilizarea pentru buclă pentru accesarea elementului
Bucla for poate fi utilizată pentru a accesa toate elementele dicționarului. Dar trebuie, de asemenea, să obțină numărul elementului din dicționar pentru o serie de iterații necesare.
Să adăugăm bucla pentru programul de mai sus pentru a prelua toate valorile din dicționar.
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 Ieșirea programului de mai sus va fi:
Elementul de la cheie: unu și valoarea sa este: primul
Elementul de la cheie: doi și valoarea sa este: al doilea
Elementul cheie: trei și valoarea sa este: Al treilea
În programul de mai sus, am folosit metoda ElementAt () pentru a obține cheia la un indice dat, apoi am folosit aceeași cheie pentru a prelua datele valorii cheii. Bucla for iterează prin toate datele din dicționar. Proprietatea Count a fost utilizată pentru a obține dimensiunea dicționarului pentru iterație.
Utilizarea pentru fiecare buclă
Similar cu bucla for, putem folosi și bucla pentru fiecare buclă.
Să aruncăm o privire la programul de mai sus cu bucla pentru fiecare.
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(); } }
Ieșirea programului de mai sus va fi:
Cheia este: una - Valoarea este: prima
Cheia este: două - Valoarea este: a doua
Cheia este: trei - Valoarea este: a treia
Programul de mai sus folosește KeyValuePair pentru a declara variabila, apoi repetăm fiecare dintre perechile cheie-valoare din dicționar și o imprimăm pe consolă.
Cum se poate valida prezența datelor într-un dicționar?
Uneori trebuie să verificăm dacă există o anumită cheie sau valoare în dicționar sau nu. Putem valida acest lucru folosind două metode, adică ContainsValue () și ContainsKey () pentru a verifica cheia sau valoarea existentă din dicționar.
Metoda Contains este utilizată pentru a valida dacă valoarea dată este prezentă sau nu în dicționar. Metoda ContainsKey este utilizată pentru a verifica dacă există o cheie dată în dicționar sau nu.
Sintaxă
Dictionary_Name.ContainsValue(Value); Dictionary_Name.ContainsKey(Key);
Să scriem un program simplu pentru validare folosind metoda Contains and 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(); } }
Ieșirea programului de mai sus va fi:
Cheia este disponibilă: Adevărat
Valoarea patru este disponibilă: Fals
În programul de mai sus, am folosit mai întâi metoda ContainsKey pentru a valida dacă cheia dată este prezentă în dicționar. Deoarece cheia este prezentă în dicționar, metoda returnează adevărat. Apoi folosim ContainsValue pentru a determina dacă valoarea dată este prezentă sau nu. Deoarece valoarea „patru” nu este prezentă în dicționar, va reveni fals.
Cum se elimină un element dintr-un dicționar?
Este posibil să fie un moment în care va trebui să eliminăm o anumită pereche cheie-valoare din dicționar pentru a îndeplini anumite logici de programare. Metoda Remove poate fi utilizată pentru a elimina orice pereche din dicționar pe baza cheii.
Sintaxă
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(); } }
Ieșirea programului de mai sus va fi:
Cheia două este disponibilă: Fals
În primul program de mai sus, am adăugat o pereche cheie-valoare în dicționar. Apoi am eliminat o cheie din dicționar și am folosit metoda ContainsKey () pentru a valida dacă perechea cheie-valoare nu mai este prezentă în dicționar.
Concluzie
Lista stochează elemente ale tipului de date specific și crește pe măsură ce sunt adăugate elemente. De asemenea, poate stoca mai multe elemente duplicate. Putem accesa cu ușurință elementele din Listă folosind index sau bucle. Lista este foarte utilă pentru stocarea unei cantități mari de date.
Un dicționar este utilizat pentru a stoca perechi cheie-valoare. Aici cheile trebuie să fie unice. Valorile din dicționar pot fi recuperate folosind o buclă sau index. De asemenea, putem valida cheile sau valorile folosind metoda Conține.
=> Urmăriți seria completă de antrenament C # aici
Lectură recomandată
- Tutorial de gestionare a excepțiilor C # cu exemple de cod
- Tutorial Python DateTime cu exemple
- C # Funcții / Metode Tutorial cu exemple de cod
- Tutorial SVN: Gestionarea codului sursă folosind Subversion
- C # String Tutorial - Metode de șiruri cu exemple de coduri
- Tutorial SVN Tortoise: Revizuiri în depozitul de coduri
- Tutorial Python Tuple cu exemple practice
- Comanda Ls în Unix cu exemple