C# ToDictionary-Methode

C Todictionary Methode



Die ToDictionary-Funktion in C# ist eine LINQ-Erweiterungsfunktion, die es Ihnen ermöglicht, eine Datensammlung in ein Wörterbuch umzuwandeln, das eine klare und praktische Möglichkeit bietet, die Entitäten eindeutigen Schlüsseln und zugehörigen Werten zuzuordnen. Es sind zwei Argumente erforderlich, zwei Delegaten oder Lambda-Ausdrücke, eines zum Auswählen des Schlüssels und ein weiteres zum Auswählen des Werts für jedes Objekt in der Sammlung. In diesem Artikel verwenden wir einige C#-Codebeispiele, um die Verwendung der ToDictionary-Funktion zu demonstrieren.

Syntax:

Lassen Sie uns jede Komponente, die in der folgenden Syntax der C#-ToDictionary-Funktion bereitgestellt wird, einzeln aufschlüsseln und verstehen:



war diktiert = Sammlung. Zum Wörterbuch ( keySelector , elementSelector ) ;
  • Das Schlüsselwort „var“ wird hier entfernt, um die Typkategorie des resultierenden „dict“-Wörterbuchs zu definieren. In den meisten Fällen ist es Dictionary, wobei K der Typ des Schlüssels und V die Typkategorie des Wörterbuchwerts ist.
  • Das „collection“-Element stellt die Quellsammlung dar, die Sie in ein „dict“-Wörterbuch konvertieren möchten. Dabei kann es sich um eine beliebige Klasse handeln, die die IEnumerable-Schnittstelle implementiert, beispielsweise eine Liste, ein Array oder ein Abfrageergebnis.
  • Das Schlüsselwort „keySelector“ ist ein Delegat- oder Lambda-Ausdruck, der angibt, wie der Schlüssel aus jedem Element in der Sammlung extrahiert wird. Es ruft ein Element aus der Sammlung als Argument ab und gibt den Schlüsselwert für dieses Element zurück. Der Schlüssel sollte für jedes Element in der Sammlung eindeutig sein, da Wörterbücher keine doppelten Schlüssel haben können.
  • Das Schlüsselwort „elementSelector“ bezieht sich auf einen Delegaten- oder Lambda-Ausdruck, der angibt, wie der Wert aus jedem Element in der Sammlung extrahiert wird. Außerdem erhält es ein Element der Sammlung als Argument und gibt den Wert für dieses Element zurück.

Nach dem Ausführen der ToDictionary-Funktion verfügen Sie über ein neues Wörterbuchobjekt, in dem jedes Element aus der Sammlung als Schlüssel-Wert-Paar dargestellt wird.







Beispiel 1:

Beginnen wir mit diesem Leitfaden noch einmal, indem wir die Verwendung der ToDictionary-Funktion in C# anhand eines Codebeispiels demonstrieren. Gehen wir es Schritt für Schritt durch.



Der Code beginnt mit dem Import der erforderlichen Namespaces: System, System.Collections.Generic und System.Linq. Diese Namespaces stellen die erforderlichen Klassen und Erweiterungsmethoden für die Arbeit mit Sammlungen und LINQ bereit. Es wird die Klasse „Dummy“ definiert, die die Methode „Main“ dieses C#-Programms enthält.



Innerhalb der „Main“-Methode wird eine Liste mit dem Namen „L“ erstellt. Diese Liste enthält drei Zeichenfolgenelemente, die die Namen verschiedener Parfüme nach Wahl des Benutzers darstellen. Die ToDictionary-Methode wird in der „L“-Liste aufgerufen. Es wandelt die Liste in ein Wörterbuch um. Jedes Zeichenfolgenelement in der Liste dient sowohl als Schlüssel als auch als Wert im resultierenden Wörterbuch.





Das Wörterbuch wird mit einem Schlüsselvergleich erstellt, bei dem die Groß-/Kleinschreibung nicht berücksichtigt wird. Dazu wird der Parameter StringComparer.OrdinalIgnoreCase verwendet, der hauptsächlich dazu verwendet wird, einen Vergleich ohne Berücksichtigung der Groß-/Kleinschreibung anzugeben, wenn das Vorhandensein von Schlüsseln überprüft wird. Eine „if“-Anweisung prüft, ob das Wörterbuch den „Bombshell“-Schlüssel enthält, ignoriert dabei jedoch die Groß-/Kleinschreibung. Wenn der Schlüssel gefunden wird, wird der Codeausschnitt im Abschnitt „if“ verarbeitet. Innerhalb des „if“-Blocks wird die Anweisung Console.WriteLine(„Bombshell existiert“) ausgeführt, die die Meldung „Bombshell existiert“ an die Konsole ausgibt.

mit System ;

mit System. Sammlungen . Generisch ;

mit System. Linq ;

Klasse Dummy

{

statisch Leere Hauptsächlich ( )

{

Aufführen < Zeichenfolge > L = neue Liste < Zeichenfolge > ( ) { „SchwarzOpium“ , 'Bombe' , „GucciFlora“ } ;

war Parfüm = L. Zum Wörterbuch ( X => X , X => WAHR , StringComparer. OrdinalIgnoreCase ) ;

Wenn ( Parfüm. EnthältSchlüssel ( 'Bombe' ) )

{

Konsole. WriteLine ( „Bombe existiert“ ) ;

}

}

}

Da das Wörterbuch mit einem Vergleich ohne Berücksichtigung der Groß- und Kleinschreibung erstellt wird, stimmt der „Bombshell“-Schlüssel mit dem tatsächlichen „Bombshell“-Schlüssel im Wörterbuch überein. Als Ergebnis wird die Meldung „Bombshell existiert“ auf der Konsole gedruckt, wie im folgenden angehängten Ausgabebild dargestellt:



Beispiel 2:

Im vorherigen Codebeispiel haben wir gezeigt, wie eine einfache Sammlung über die ToDictionary-Funktion in ein Wörterbuch umgewandelt werden kann. Nun wenden wir uns einem etwas fortgeschritteneren Codebeispiel von C# zu, um die Verwendung der C# ToDictionary-Funktion zu demonstrieren. Lassen Sie uns den Code Zeile für Zeile aufschlüsseln.

Dieser Abbildungscodeausschnitt beginnt mit der Einführung derselben obligatorischen Namespaces: System, System.Collections.Generic und System.Linq. Diese Namespaces stellen die erforderlichen Klassen und Erweiterungsmethoden für die Arbeit mit Sammlungen und LINQ für dieses Codebeispiel bereit. Es wird die Klasse „Dummy“ definiert, die einen Einstiegspunkt darstellt.

Innerhalb der „Main“-Methode der C#-Sprache wird eine Liste mit dem Namen „L“ erstellt. Diese Liste enthält drei Objekte der Klasse „Data“, die die verschiedenen Kosmetikprodukte mit ihren Preisen und Marken darstellen. Jedes Datenobjekt wird mithilfe der Objektinitialisierersyntax initialisiert. Die Eigenschaften „Preis“ und „Marke“ jedes Objekts werden mit spezifischen Werten festgelegt.

Hier kommt die ToDictionary-Methode. Es wird hier auf der „L“-Liste genannt. Es wandelt die Liste in ein Wörterbuch um, in dem die Eigenschaft „Preis“ als Schlüssel und die Eigenschaft „Marke“ als Wert verwendet wird. Das resultierende Wörterbuch wird der Variablen „Dic“ zugewiesen, wie im folgenden Codeausschnitt erwähnt. Eine „foreach“-Schleife wird ausgeführt, um die Schlüssel-Wert-Paare im „Dic“-Wörterbuch aufzurufen.

Innerhalb der Schleife wird auf den Schlüssel und den Wert jedes Paares mithilfe der Eigenschaften „Key“ und „Value“ der Struktur „KeyValuePair“ zugegriffen. Die Funktionsanweisung Console.WriteLine gibt jedes Schlüssel-Wert-Paar auf der Konsole aus. Die Ausgabe wird mithilfe der String-Interpolation formatiert, um die Preis- und Markeninformationen getrennt anzuzeigen.

Hier wird die Klasse „Data“ mit zwei Eigenschaften definiert: „Price“ (eine Ganzzahl, die den Preis eines Kosmetikprodukts darstellt) und „Brand“ (eine Zeichenfolge, die den Markennamen eines Produkts darstellt).

mit System ;

mit System. Sammlungen . Generisch ;

mit System. Linq ;

Klasse Dummy

{

statisch Leere Hauptsächlich ( )

{

Aufführen < Daten > L = neue Liste < Daten > ( )

{

neue Daten { Preis = 13000 , Marke = „Huda Schönheit“ } ,

neue Daten { Preis = 15000 , Marke = „Charlotte Telburry“ } ,

neue Daten { Preis = 11000 , Marke = „Nars“ }

} ;

Wörterbuch < int , Zeichenfolge > Dez = L. Zum Wörterbuch ( P => P. Preis , P => P. Marke ) ;

für jede ( var v in Dic )

{

Konsole. WriteLine ( $ „Preis: {v.Key}, Marke: {v.Value}“ ) ;

}

}

}

Klassendaten

{

öffentlich int Preis { erhalten ; Satz ; }

öffentliche Zeichenfolge Marke { erhalten ; Satz ; }

}

Wenn der Code ausgeführt wird, erstellt er eine Liste von Datenobjekten, konvertiert die Liste mithilfe der ToDictionary-Methode in ein Wörterbuch und zeigt dann die Schlüssel-Wert-Paare des Wörterbuchs mithilfe der „foreach“-Schleife an.

Die Ausgabe für dieses Codebeispiel wird im Folgenden bereitgestellt. Es zeigt die Preise und Marken von Kosmetikprodukten an, die im Wörterbuch basierend auf bestimmten Eigenschaften gespeichert sind, und bietet so eine bequeme Möglichkeit, die Daten in Schlüssel-Wert-Paaren zu organisieren und darauf zuzugreifen. Die Ausgabe des vorherigen Codes zeigt drei Datensätze für das Wörterbuch:

Abschluss

Dieser C#-Leitfaden demonstrierte die Verwendung der C#-ToDictionary-Methode anhand einiger grundlegender und präziser Codeillustrationen. Indem die ToDictionary-Methode einen klaren und aussagekräftigen Mechanismus zur Beschreibung der Schlüssel-Wert-Paare bietet, erleichtert sie die Umwandlung einer Sammlung in ein Wörterbuch. Es handelt sich um ein leistungsstarkes C#-Dienstprogramm zum Bearbeiten und Transformieren der Daten.