F # - zmienny słownik
Plik Dictionary<'TKey, 'TValue> class jest zmiennym analogiem struktury danych mapy F # i zawiera wiele takich samych funkcji.
Podsumowując rozdział Mapa w języku F #, mapa to specjalny rodzaj zestawu, który kojarzy wartości z kluczem.
Tworzenie słownika mutowalnego
Zmienne słowniki są tworzone przy użyciu rozszerzenia newsłowo kluczowe i wywołanie konstruktora listy. Poniższy przykład demonstruje to -
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
Kiedy kompilujesz i wykonujesz program, daje to następujące dane wyjściowe -
Dictionary - students: seq
[[1501, Zara Ali]; [1502, Rishita Gupta]; [1503, Robin Sahoo];
[1504, Gillian Megan]]
Klasa słownika (TKey, TValue)
Klasa Dictionary (TKey, TValue) reprezentuje zbiór kluczy i wartości.
Poniższe tabele zawierają właściwości, konstruktory i metody klasy List (T) -
Nieruchomości
własność | Opis |
---|---|
Porównaj | Pobiera IEqualityComparer (T), który jest używany do określania równości kluczy dla słownika. |
Liczyć | Pobiera liczbę par klucz / wartość zawartych w Dictionary (TKey, TValue). |
Pozycja | Pobiera lub ustawia wartość skojarzoną z określonym kluczem. |
Klucze | Pobiera kolekcję zawierającą klucze w Dictionary (TKey, TValue). |
Wartości | Pobiera kolekcję zawierającą wartości z Dictionary (TKey, TValue). |
Konstruktorzy
Konstruktorzy | Opis |
---|---|
Słownik (TKey, TValue) () | Inicjuje nowe wystąpienie Dictionary(TKey, TValue) klasa, która jest pusta, ma domyślną pojemność początkową i używa domyślnej funkcji porównującej równość dla typu klucza. |
Słownik (TKey, TValue) (IDictionary (TKey, TValue)) | Inicjuje nowe wystąpienie Dictionary(TKey, TValue) klasa, która zawiera elementy skopiowane z określonego IDictionary(TKey, TValue) i używa domyślnej funkcji porównującej równość dla typu klucza. |
Słownik (TKey, TValue) (IEqualityComparer (TKey)) | Inicjuje nowe wystąpienie Dictionary(TKey, TValue) klasa, która jest pusta, ma domyślną pojemność początkową i używa określonej IEqualityComparer(T). |
Słownik (TKey, TValue) (Int32) | Inicjuje nowe wystąpienie Dictionary(TKey, TValue) klasa, która jest pusta, ma określoną pojemność początkową i używa domyślnej funkcji porównującej równość dla typu klucza. |
Słownik (TKey, TValue) (IDictionary (TKey, TValue), IEqualityComparer (TKey)) | Inicjuje nowe wystąpienie Dictionary(TKey, TValue) klasa, która zawiera elementy skopiowane z określonego IDictionary(TKey, TValue) i używa określonego IEqualityComparer(T). |
Słownik (TKey, TValue) (Int32, IEqualityComparer (TKey)) | Inicjuje nowe wystąpienie Dictionary(TKey, TValue) klasa, która jest pusta, ma określoną pojemność początkową i używa określonej IEqualityComparer(T). |
Słownik (TKey, TValue) (SerializationInfo, StreamingContext) | Inicjuje nowe wystąpienie ictionary(TKey, TValue) klasa z danymi serializowanymi. |
Metody
metoda | Opis |
---|---|
Dodaj | Dodaje określony klucz i wartość do słownika. |
Jasny | Usuwa wszystkie klucze i wartości ze słownika (TKey, TValue). |
ContainsKey | Określa, czy Dictionary (TKey, TValue) zawiera określony klucz. |
ContainsValue | Określa, czy Dictionary (TKey, TValue) zawiera określoną wartość. |
Równa się (obiekt) | Określa, czy określony obiekt jest równy bieżącemu obiektowi. (Odziedziczone po Object.) |
Sfinalizować | Umożliwia obiektowi próbę zwolnienia zasobów i wykonanie innych operacji czyszczenia, zanim zostanie odzyskany przez wyrzucanie elementów bezużytecznych. (Odziedziczone po Object.) |
GetEnumerator | Zwraca moduł wyliczający, który wykonuje iterację w Dictionary (TKey, TValue). |
GetHashCode | Służy jako domyślna funkcja skrótu. (Odziedziczone po Object.) |
GetObjectData | Implementuje interfejs System.Runtime.Serialization.ISerializable i zwraca dane potrzebne do serializacji wystąpienia Dictionary (TKey, TValue). |
GetType | Pobiera typ bieżącego wystąpienia. (Odziedziczone po Object.) |
MemberwiseClone | Tworzy płytką kopię bieżącego obiektu. (Odziedziczone po Object.) |
OnDeserialization | Implementuje interfejs System.Runtime.Serialization.ISerializable i wywołuje zdarzenie deserializacji po zakończeniu deserializacji. |
Usunąć | Usuwa wartość z określonym kluczem z Dictionary (TKey, TValue). |
ToString | Zwraca ciąg, który reprezentuje bieżący obiekt. (Odziedziczone po Object.) |
TryGetValue | Pobiera wartość skojarzoną z określonym kluczem. |
Przykład
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
Kiedy kompilujesz i wykonujesz program, daje to następujące dane wyjściowe -
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"]