F # - Mutable Dictionary
Das Dictionary<'TKey, 'TValue> Klasse ist das veränderbare Analogon der F # -Kartendatenstruktur und enthält viele der gleichen Funktionen.
In Anlehnung an das Kapitel "Karte" in F # ist eine Karte eine spezielle Art von Menge, die die Werte mit dem Schlüssel verknüpft.
Erstellen eines veränderlichen Wörterbuchs
Veränderbare Wörterbücher werden mit dem erstellt newSchlüsselwort und Aufruf des Konstruktors der Liste. Das folgende Beispiel zeigt dies -
open System.Collections.Generic
let dict = new Dictionary<string, string>()
dict.Add("1501", "Zara Ali")
dict.Add("1502","Rishita Gupta")
dict.Add("1503","Robin Sahoo")
dict.Add("1504","Gillian Megan")
printfn "Dictionary - students: %A" dict
Wenn Sie das Programm kompilieren und ausführen, wird die folgende Ausgabe ausgegeben:
Dictionary - students: seq
[[1501, Zara Ali]; [1502, Rishita Gupta]; [1503, Robin Sahoo];
[1504, Gillian Megan]]
Die Wörterbuchklasse (TKey, TValue)
Die Dictionary-Klasse (TKey, TValue) repräsentiert eine Sammlung von Schlüsseln und Werten.
Die folgenden Tabellen enthalten die Eigenschaften, Konstruktoren und Methoden der List (T) -Klasse -
Eigenschaften
Eigentum | Beschreibung |
---|---|
Vergleicher | Ruft den IEqualityComparer (T) ab, mit dem die Schlüsselgleichheit für das Wörterbuch bestimmt wird. |
Anzahl | Ruft die Anzahl der im Wörterbuch enthaltenen Schlüssel / Wert-Paare ab (TKey, TValue). |
Artikel | Ruft den dem angegebenen Schlüssel zugeordneten Wert ab oder legt diesen fest. |
Schlüssel | Ruft eine Sammlung mit den Schlüsseln im Wörterbuch ab (TKey, TValue). |
Werte | Ruft eine Sammlung ab, die die Werte im Wörterbuch enthält (TKey, TValue). |
Konstruktoren
Konstruktoren | Beschreibung |
---|---|
Wörterbuch (TKey, TValue) () | Initialisiert eine neue Instanz von Dictionary(TKey, TValue) Klasse, die leer ist, die anfängliche Standardkapazität hat und den Standardgleichheitsvergleich für den Schlüsseltyp verwendet. |
Wörterbuch (TKey, TValue) (IDictionary (TKey, TValue)) | Initialisiert eine neue Instanz von Dictionary(TKey, TValue) Klasse, die Elemente enthält, die aus dem angegebenen kopiert wurden IDictionary(TKey, TValue) und verwendet den Standardgleichheitsvergleich für den Schlüsseltyp. |
Wörterbuch (TKey, TValue) (IEqualityComparer (TKey)) | Initialisiert eine neue Instanz von Dictionary(TKey, TValue) Klasse, die leer ist, die anfängliche Standardkapazität hat und die angegebene verwendet IEqualityComparer(T). |
Wörterbuch (TKey, TValue) (Int32) | Initialisiert eine neue Instanz von Dictionary(TKey, TValue) Klasse, die leer ist, die angegebene Anfangskapazität hat und den Standardgleichheitsvergleich für den Schlüsseltyp verwendet. |
Wörterbuch (TKey, TValue) (IDictionary (TKey, TValue), IEqualityComparer (TKey)) | Initialisiert eine neue Instanz von Dictionary(TKey, TValue) Klasse, die Elemente enthält, die aus dem angegebenen kopiert wurden IDictionary(TKey, TValue) und verwendet die angegebenen IEqualityComparer(T). |
Wörterbuch (TKey, TValue) (Int32, IEqualityComparer (TKey)) | Initialisiert eine neue Instanz von Dictionary(TKey, TValue) Klasse, die leer ist, die angegebene Anfangskapazität hat und die angegebene verwendet IEqualityComparer(T). |
Wörterbuch (TKey, TValue) (SerializationInfo, StreamingContext) | Initialisiert eine neue Instanz von ictionary(TKey, TValue) Klasse mit serialisierten Daten. |
Methoden
Methode | Beschreibung |
---|---|
Hinzufügen | Fügt dem Wörterbuch den angegebenen Schlüssel und Wert hinzu. |
klar | Entfernt alle Schlüssel und Werte aus dem Wörterbuch (TKey, TValue). |
Enthält Schlüssel | Legt fest, ob das Wörterbuch (TKey, TValue) den angegebenen Schlüssel enthält. |
Enthält Wert | Legt fest, ob das Wörterbuch (TKey, TValue) einen bestimmten Wert enthält. |
Gleich (Objekt) | Legt fest, ob das angegebene Objekt dem aktuellen Objekt entspricht. (Vom Objekt geerbt.) |
Finalisieren | Ermöglicht einem Objekt, Ressourcen freizugeben und andere Bereinigungsvorgänge auszuführen, bevor es von der Garbage Collection zurückgefordert wird. (Vom Objekt geerbt.) |
GetEnumerator | Gibt einen Enumerator zurück, der das Wörterbuch durchläuft (TKey, TValue). |
GetHashCode | Dient als Standard-Hash-Funktion. (Vom Objekt geerbt.) |
GetObjectData | Implementiert die System.Runtime.Serialization.ISerializable-Schnittstelle und gibt die Daten zurück, die zum Serialisieren der Dictionary-Instanz (TKey, TValue) erforderlich sind. |
GetType | Ruft den Typ der aktuellen Instanz ab. (Vom Objekt geerbt.) |
MemberwiseClone | Erstellt eine flache Kopie des aktuellen Objekts. (Vom Objekt geerbt.) |
OnDeserialization | Implementiert die System.Runtime.Serialization.ISerializable-Schnittstelle und löst das Deserialisierungsereignis aus, wenn die Deserialisierung abgeschlossen ist. |
Entfernen | Entfernt den Wert mit dem angegebenen Schlüssel aus dem Wörterbuch (TKey, TValue). |
ToString | Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Vom Objekt geerbt.) |
TryGetValue | Ruft den dem angegebenen Schlüssel zugeordneten Wert ab. |
Beispiel
open System.Collections.Generic
let dict = new Dictionary<string, string>()
dict.Add("1501", "Zara Ali")
dict.Add("1502","Rishita Gupta")
dict.Add("1503","Robin Sahoo")
dict.Add("1504","Gillian Megan")
printfn "Dictionary - students: %A" dict
printfn "Total Number of Students: %d" dict.Count
printfn "The keys: %A" dict.Keys
printf"The Values: %A" dict.Values
Wenn Sie das Programm kompilieren und ausführen, wird die folgende Ausgabe ausgegeben:
Dictionary - students: seq
[[1501, Zara Ali]; [1502, Rishita Gupta]; [1503, Robin Sahoo];
[1504, Gillian Megan]]
Total Number of Students: 4
The keys: seq ["1501"; "1502"; "1503"; "1504"]
The Values: seq ["Zara Ali"; "Rishita Gupta"; "Robin Sahoo"; "Gillian Megan"]