c list dictionary tutorial with code examples
Dieses Tutorial erklärt die C # -Liste und das Wörterbuch anhand von Beispielen. Sie lernen, wie Sie Elemente im C # -Wörterbuch und in der Liste initialisieren, füllen und darauf zugreifen:
In unserem früheren Tutorial zu C # -Sammlungen haben wir Informationen zu in C # vorhandenen Sammlungsarten wie ArrayList, Hashtable, Stack, SortedList usw. erhalten. Diese Sammlungstypen haben häufig die Möglichkeit, Daten aller Art zu speichern.
Dies scheint sehr nützlich zu sein, um verschiedene Datentypen in einer einzelnen Sammlungsentität zu speichern. Der Nachteil ist jedoch, dass beim Abrufen von Daten aus der Sammlung eine Datenübertragung auf einen anwendbaren Datentyp erforderlich ist. Ohne Datacast löst das Programm eine Laufzeitausnahme aus und kann die Anwendung behindern.
=> KOSTENLOSE C # -Trainings-Tutorials für alle
Um diese Probleme zu beheben, bietet C # auch generische Sammlungsklassen an. Eine generische Sammlung bietet eine bessere Leistung beim Speichern und Abrufen der Elemente.
Was du lernen wirst:
- C # -Liste
- C # Wörterbuch
- Fazit
C # -Liste
Wir haben bereits in den vorherigen Artikeln etwas über die ArrayList gelernt. Grundsätzlich ähnelt eine Liste einer ArrayList. Der einzige Unterschied besteht darin, dass die Liste generisch ist. Die Liste hat die einzigartige Eigenschaft, ihre Größe zu erweitern, wenn sie wächst, ähnlich wie die Array-Liste.
Wie initialisiere ich eine Liste?
Wir können eine Liste auf folgende Arten initialisieren:
//using List type for initialization List listInteger = new List(); //using IList type for initialization IList listString = new List();
Wenn Sie sich das obige Beispiel ansehen, können Sie sehen, dass wir in der ersten Zeile List verwendet haben, um eine Ganzzahlliste zu initialisieren. In der zweiten Zeile haben wir IList für die Initialisierung der Zeichenfolgenliste verwendet. Sie können diese für Ihr Programm verwenden. Die Liste ist eigentlich die Implementierung der Schnittstelle IList.
Wie füge ich ein Element hinzu und füge es der Liste ein?
Ähnlich wie bei der ArrayList können wir der Liste mithilfe der Add () -Methode ein Element hinzufügen. Die add-Methode akzeptiert den Datentypwert als Argument.
Syntax
ListName.Add(DataType value);
Schauen wir uns ein einfaches Programm an, mit dem Sie Daten zu einer Liste und IList hinzufügen können.
Programm:
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(); } }
Das Element kann auch direkt beim Initialisieren der Liste hinzugefügt werden. Wir können den Wert zum Zeitpunkt der Initialisierung selbst direkt zur Liste hinzufügen, ähnlich wie in unserem Arrays-Kapitel.
Dies kann hinzugefügt werden, indem geschweifte Klammern nach der Liste gesetzt werden und der Wert durch Kommas getrennt geschrieben wird. Lassen Sie uns das obige Programm ein wenig ändern, damit wir den Wert direkt während der Initialisierung hinzufügen können.
Fragen und Antworten zum Testen von Datenbanktests für erfahrene Personen
Unser Programm sieht nun so aus:
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(); } }
Im obigen Programm haben wir die ganzzahligen Listenwerte zu Beginn während der Initialisierung initialisiert. Es erlaubte uns, den Wert direkt zu übergeben, ohne die Add () -Methode für jeden Wert zu schreiben. Dies ist sehr nützlich, wenn wir eine begrenzte quantifizierbare Datenmenge haben, die wir in eine Liste aufnehmen müssen.
Wie greife ich auf die Liste zu?
Über den Index können wir auf einzelne Elemente aus der Liste zugreifen. Der Index kann in eckiger Klammer nach dem Namen der Liste übergeben werden.
Syntax
dataType Val = list_Name(index);
Schauen wir uns nun ein einfaches Programm an, um die Daten aus der Liste abzurufen, die wir in unserem vorherigen Programm erstellt haben.
Programm
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); } }
Die Ausgabe des folgenden Programms ist der Wert bei Index 1. Der Index beginnt bei 0, die Ausgabe lautet:
zwei
Angenommen, wir möchten alle Daten aus der Liste abrufen. Verwenden Sie dazu die for-each-Schleife oder eine for-Schleife.
Für jede Schleife
Wir können für jede Schleife alle Daten aus der Liste abrufen.
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); } } }
Hier haben wir die Liste mit für jede Schleife durchlaufen, indem wir einen variablen Wert deklariert haben. Dies ermöglicht jede Schleife durch die Liste, bis sich einige Daten darin befinden.
Für Schleife
Für die Verwendung der for-Schleife müssen wir die Anzahl der in der Liste vorhandenen Elemente kennen. Die Methode Count () kann verwendet werden, um die Anzahl der Elemente abzurufen.
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; iManchmal müssen wir auch ein neues Element in die Liste einfügen. Dazu müssen wir die Insert () -Methode verwenden, um irgendwo in der Liste eine neue Methode hinzuzufügen. Die Einfügemethode akzeptiert zwei Argumente, das erste ist der Index, an dem Sie die Daten einfügen möchten, und das zweite sind die Daten, die Sie einfügen möchten.
Die Syntax für die Einfügung lautet:
List_Name.Insert(index, element_to_be_inserted);
Fügen wir nun ein Element in die zuvor erstellte Liste ein. Wir werden dem obigen Programm eine insert-Anweisung hinzufügen und versuchen zu sehen, wie es funktioniert:
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 Wenn wir das obige Programm ausführen, lautet die Ausgabe:
1
zwei
3
Listenwert nach Einfügen eines neuen Werts
1
22
zwei
3
Nach der for-Schleife haben wir die insert-Anweisung hinzugefügt, um die Ganzzahl 22 am Index 1 in die zuvor definierte Liste einzufügen. Dann haben wir für jede Schleife eine geschrieben, um alle Elemente zu drucken, die jetzt in der Liste vorhanden sind (nach dem Einfügen der ersten Daten).
Aus der Ausgabe können wir deutlich erkennen, dass alle Elemente der Liste nach vorne verschoben wurden, um Platz für das neue Element bei Index 1 zu machen. Der Index 1 hat jetzt 22 als Element und das vorherige Element bei Index 1, dh 2, wurde verschoben der nächste Index und so weiter.
Wie entferne ich ein Element aus der Liste?
Manchmal müssen wir möglicherweise auch Elemente aus der Liste entfernen. Dazu bietet C # zwei verschiedene Methoden. Diese beiden Methoden sind Remove () und RemoveAt (). Mit Remove wird ein bestimmtes Element aus der Liste entfernt, und mit RemoveAt werden alle am angegebenen Index vorhandenen Elemente entfernt.
Schauen wir uns die Syntax an.
Syntax
Remove(Element name); RemoveAt(index);
Fügen wir nun dem vorherigen Code die Anweisung Remove hinzu und sehen, was passiert.
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 Die Ausgabe des obigen Programms lautet:
1
zwei
3
Wert aus der Liste entfernen
1
3
Im obigen Programm haben wir die Methode remove verwendet, um Element 2 aus der Liste zu entfernen. Wie Sie in der Ausgabe sehen können, enthält die Liste nach Ausführung der Remove-Methode nicht mehr das Element, das wir entfernt haben.
In ähnlicher Weise können wir auch die RemoveAt-Methode verwenden. Ersetzen wir die Remove-Methode im obigen Programm durch die RemoveAt () -Methode und übergeben die Indexnummer als 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 Die Ausgabe des obigen Programms lautet:
1
zwei
3
Wert aus der Liste entfernen
1
zwei
Im obigen Programm können Sie deutlich sehen, dass wir das am Index 2 vorhandene Element entfernt haben, anstatt die Ganzzahl 2 zu entfernen. Je nach Anforderung können Sie daher entweder Remove () oder RemoveAt () verwenden, um ein bestimmtes Element aus a zu entfernen Liste.
C # Wörterbuch
Das Wörterbuch in C # ähnelt dem Wörterbuch, das wir in jeder Sprache haben. Auch hier haben wir eine Sammlung von Wörtern und deren Bedeutung. Die Wörter werden als Schlüssel bezeichnet und ihre Bedeutung oder Definition kann als Werte definiert werden.
Das Wörterbuch akzeptiert zwei Argumente, das erste ist der Schlüssel und das zweite ist der Wert. Sie kann mithilfe einer Variablen der Dictionary-Klasse oder der IDictionary-Schnittstelle initialisiert werden.
Die Syntax für Dictionary lautet:
Dictionary
Schauen wir uns ein einfaches Programm zum Initialisieren von Dictionary an:
Dictionary data = new Dictionary();
Im obigen Programm können Sie deutlich sehen, dass wir die Wörterbuchdaten mit Schlüssel und Wert als Zeichenfolge initialisiert haben. Sie können jedoch ein beliebiges Datentyppaar für Schlüssel und Werte verwenden. Zum Beispiel, Wenn wir die obige Anweisung so ändern, dass sie einen anderen Datentyp enthält, ist sie auch korrekt.
Dictionary data = new Dictionary();
Der Datentyp in der eckigen Klammer ist für Schlüssel und Werte. Sie können jeden Datentyp als Schlüssel und Wert behalten.
Wie füge ich einem Wörterbuch Schlüssel und Werte hinzu?
Wir haben gesehen, wie wir ein Wörterbuch initialisieren können. Jetzt werden wir dem Wörterbuch Schlüssel und ihre Werte hinzufügen. Das Wörterbuch ist sehr nützlich, wenn Sie verschiedene Daten und deren Werte zu einer Liste hinzufügen möchten. Mit der Methode Add () können Daten zum Wörterbuch hinzugefügt werden.
beste CPU- und GPU-Überwachungssoftware
Syntax
DictionaryVariableName.Add(Key, Value);
Nehmen wir nun die Add-Anweisung in das obige Programm auf, um dem Wörterbuch Schlüssel und Werte hinzuzufügen.
Programm
class Program { static void Main(string() args) { Dictionary dctn = new Dictionary(); dctn.Add('one', 'first'); dctn.Add('two', 'second'); dctn.Add('three', 'Third'); } }
Im obigen Programm haben wir die Add () -Methode verwendet, um den Schlüssel und die Werte zum Wörterbuch hinzuzufügen. Der erste Parameter, der an die Add () -Methode übergeben wird, ist der Schlüssel und der zweite Parameter ist der Wert des Schlüssels.
Wie kann ich über ein Wörterbuch auf Schlüssel und Werte zugreifen?
Wie in unserem Tutorial zur Liste erläutert, können wir auch auf verschiedene Arten auf Elemente aus dem Wörterbuch zugreifen. Wir werden hier einige wichtige Möglichkeiten diskutieren, wie wir darauf zugreifen können. Wir werden die for-Schleife für jede Schleife und jeden Index für den Zugriff auf Datenelemente diskutieren.
Der Index kann verwendet werden, um auf bestimmte Werte aus der Liste zuzugreifen.
For-Schleife kann verwendet werden, um auf alle Elemente aus dem Wörterbuch zuzugreifen oder diese abzurufen, erfordert jedoch die Größe des Wörterbuchs, um die Schleife zu stoppen. Da jede Schleife flexibler ist, können alle vorhandenen Daten aus dem Wörterbuch abgerufen werden, ohne dass die Größe des Wörterbuchs erforderlich ist.
Indizierung verwenden
Ein Element aus dem Index kann ähnlich wie ein Array verwendet werden, um auf das Element zuzugreifen. Der grundlegende Unterschied besteht darin, dass anstelle des Index Schlüssel für den Zugriff auf die Werte benötigt werden.
Syntax
Dictionary_Name(key);
Programm
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(); } }
Die Ausgabe des obigen Programms lautet:
zweite
Verwenden der For-Schleife für den Zugriff auf das Element
Mit der for-Schleife können Sie auf alle Elemente des Wörterbuchs zugreifen. Es muss jedoch auch die Anzahl der Elemente im Wörterbuch ermittelt werden, damit eine Reihe von Iterationen erforderlich sind.
Fügen wir dem obigen Programm eine for-Schleife hinzu, um alle Werte aus dem Wörterbuch abzurufen.
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 Die Ausgabe des obigen Programms lautet:
Das Element bei key: one und sein Wert ist: first
Das Element bei key: two und sein Wert ist: second
Das Element bei Schlüssel: drei und sein Wert ist: Drittens
Im obigen Programm haben wir die ElementAt () -Methode verwendet, um den Schlüssel an einem bestimmten Index abzurufen, und dann denselben Schlüssel verwendet, um die Daten des Schlüsselwerts abzurufen. Die for-Schleife durchläuft alle Daten im Wörterbuch. Die Count-Eigenschaft wurde verwendet, um die Größe des Wörterbuchs für die Iteration abzurufen.
For-Each-Schleife verwenden
Ähnlich wie bei der for-Schleife können wir auch die für jede Schleife verwenden.
Schauen wir uns das obige Programm mit der for-each-Schleife an.
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(); } }
Die Ausgabe des obigen Programms lautet:
Der Schlüssel ist: eins - Der Wert ist: zuerst
Der Schlüssel ist: zwei - Der Wert ist: Sekunde
Der Schlüssel ist: drei - Der Wert ist: Drittens
Das obige Programm verwendet KeyValuePair, um die Variable zu deklarieren. Anschließend durchlaufen wir jedes der Schlüssel-Wert-Paare im Wörterbuch und drucken diese auf der Konsole aus.
Wie überprüfe ich das Vorhandensein von Daten in einem Wörterbuch?
Manchmal müssen wir überprüfen, ob ein bestimmter Schlüssel oder Wert im Wörterbuch vorhanden ist oder nicht. Wir können dies überprüfen, indem wir zwei Methoden verwenden, d. H. ContainsValue () und ContainsKey (), um nach dem vorhandenen Schlüssel oder Wert im Wörterbuch zu suchen.
Die Contains-Methode wird verwendet, um zu überprüfen, ob der angegebene Wert im Wörterbuch vorhanden ist oder nicht. Die ContainsKey-Methode wird verwendet, um zu überprüfen, ob ein bestimmter Schlüssel im Wörterbuch vorhanden ist oder nicht.
Syntax
Dictionary_Name.ContainsValue(Value); Dictionary_Name.ContainsKey(Key);
Schreiben wir ein einfaches Programm zur Validierung mit den Methoden Contains und 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(); } }
Die Ausgabe des obigen Programms lautet:
Der Schlüssel ist verfügbar: True
Der Wert vier ist verfügbar: False
Im obigen Programm haben wir zuerst die ContainsKey-Methode verwendet, um zu überprüfen, ob der angegebene Schlüssel im Wörterbuch vorhanden ist. Da der Schlüssel im Wörterbuch vorhanden ist, gibt die Methode true zurück. Dann verwenden wir ContainsValue, um festzustellen, ob der angegebene Wert vorhanden ist oder nicht. Da der Wert 'vier' im Wörterbuch nicht vorhanden ist, wird false zurückgegeben.
Wie entferne ich ein Element aus einem Wörterbuch?
Es kann vorkommen, dass wir ein bestimmtes Schlüssel-Wert-Paar aus dem Wörterbuch entfernen müssen, um bestimmte Programmierlogiken zu erfüllen. Mit der Methode 'Entfernen' können Sie jedes Paar basierend auf dem Schlüssel aus dem Wörterbuch entfernen.
Syntax
c ++ Pause für 1 Sekunde
Remove(key);
Programm
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(); } }
Die Ausgabe des obigen Programms lautet:
Der zweite Schlüssel ist verfügbar: Falsch
Im obigen Programm haben wir zuerst ein Schlüssel-Wert-Paar zum Wörterbuch hinzugefügt. Dann haben wir einen Schlüssel aus dem Wörterbuch entfernt und mithilfe der ContainsKey () -Methode überprüft, ob das Schlüssel-Wert-Paar nicht mehr im Wörterbuch vorhanden ist.
Fazit
In der Liste werden Elemente des jeweiligen Datentyps gespeichert und beim Hinzufügen von Elementen vergrößert. Es können auch mehrere doppelte Elemente gespeichert werden. Wir können einfach auf Elemente in der Liste zugreifen, indem wir Index oder Schleifen verwenden. Die Liste ist sehr hilfreich beim Speichern einer großen Datenmenge.
In einem Wörterbuch werden Schlüssel-Wert-Paare gespeichert. Hier müssen die Schlüssel eindeutig sein. Werte aus dem Wörterbuch können mithilfe einer Schleife oder eines Index abgerufen werden. Wir können Schlüssel oder Werte auch mit der Contains-Methode validieren.
=> Sehen Sie sich hier die vollständige C # -Trainingsreihe an
Literatur-Empfehlungen
- Tutorial zur Behandlung von C # -Ausnahmen mit Codebeispielen
- Python DateTime Tutorial mit Beispielen
- C # -Funktionen / Methoden-Tutorial mit Codebeispielen
- SVN-Tutorial: Quellcodeverwaltung mit Subversion
- C # String Tutorial - String-Methoden mit Codebeispielen
- Schildkröte SVN Tutorial: Überarbeitungen im Code Repository
- Python Tuple Tutorial mit praktischen Beispielen
- Ls-Befehl unter Unix mit Beispielen