F # - изменяемый словарь
В Dictionary<'TKey, 'TValue> class является изменяемым аналогом структуры данных карты F # и содержит многие из тех же функций.
Резюмируя из главы «Карта» в F #, карта - это особый вид набора, который связывает значения с ключом.
Создание изменяемого словаря
Изменяемые словари создаются с использованием newключевое слово и вызов конструктора списка. Следующий пример демонстрирует это -
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
Когда вы компилируете и выполняете программу, она дает следующий результат:
Dictionary - students: seq
[[1501, Zara Ali]; [1502, Rishita Gupta]; [1503, Robin Sahoo];
[1504, Gillian Megan]]
Словарь (TKey, TValue) Класс
Класс Dictionary (TKey, TValue) представляет собой набор ключей и значений.
В следующих таблицах представлены свойства, конструкторы и методы класса List (T):
Свойства
Свойство | Описание |
---|---|
Сравнить | Получает IEqualityComparer (T), который используется для определения равенства ключей для словаря. |
Считать | Получает количество пар ключ / значение, содержащихся в Словаре (TKey, TValue). |
Вещь | Получает или задает значение, связанное с указанным ключом. |
Ключи | Получает коллекцию, содержащую ключи в словаре (TKey, TValue). |
Значения | Получает коллекцию, содержащую значения в словаре (TKey, TValue). |
Конструкторы
Конструкторы | Описание |
---|---|
Словарь (TKey, TValue) () | Инициализирует новый экземпляр Dictionary(TKey, TValue) пуст, имеет начальную емкость по умолчанию и использует компаратор проверки на равенство по умолчанию для типа ключа. |
Словарь (TKey, TValue) (IDictionary (TKey, TValue)) | Инициализирует новый экземпляр Dictionary(TKey, TValue) класс, содержащий элементы, скопированные из указанного IDictionary(TKey, TValue) и использует компаратор проверки на равенство по умолчанию для типа ключа. |
Словарь (TKey, TValue) (IEqualityComparer (TKey)) | Инициализирует новый экземпляр Dictionary(TKey, TValue) пустой класс, имеющий начальную емкость по умолчанию и использующий указанную IEqualityComparer(T). |
Словарь (TKey, TValue) (Int32) | Инициализирует новый экземпляр Dictionary(TKey, TValue) пустой класс, имеющий указанную начальную емкость и использующий компаратор проверки на равенство по умолчанию для типа ключа. |
Словарь (TKey, TValue) (IDictionary (TKey, TValue), IEqualityComparer (TKey)) | Инициализирует новый экземпляр Dictionary(TKey, TValue) класс, содержащий элементы, скопированные из указанного IDictionary(TKey, TValue) и использует указанные IEqualityComparer(T). |
Словарь (TKey, TValue) (Int32, IEqualityComparer (TKey)) | Инициализирует новый экземпляр Dictionary(TKey, TValue) пустой класс, имеющий указанную начальную емкость и использующий указанную IEqualityComparer(T). |
Словарь (TKey, TValue) (SerializationInfo, StreamingContext) | Инициализирует новый экземпляр ictionary(TKey, TValue) класс с сериализованными данными. |
Методы
Метод | Описание |
---|---|
Добавить | Добавляет указанный ключ и значение в словарь. |
Очистить | Удаляет все ключи и значения из Словаря (TKey, TValue). |
ContainsKey | Определяет, содержит ли Dictionary (TKey, TValue) указанный ключ. |
ContainsValue | Определяет, содержит ли словарь (TKey, TValue) определенное значение. |
Равно (объект) | Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object.) |
Завершить | Позволяет объекту попытаться освободить ресурсы и выполнить другие операции очистки, прежде чем он будет освобожден сборкой мусора. (Унаследовано от Object.) |
GetEnumerator | Возвращает перечислитель, выполняющий итерацию по словарю (TKey, TValue). |
GetHashCode | Служит хеш-функцией по умолчанию. (Унаследовано от Object.) |
GetObjectData | Реализует интерфейс System.Runtime.Serialization.ISerializable и возвращает данные, необходимые для сериализации экземпляра Dictionary (TKey, TValue). |
GetType | Получает тип текущего экземпляра. (Унаследовано от Object.) |
MemberwiseClone | Создает неглубокую копию текущего объекта. (Унаследовано от Object.) |
OnDeserialization | Реализует интерфейс System.Runtime.Serialization.ISerializable и вызывает событие десериализации, когда десериализация завершена. |
удалять | Удаляет значение с указанным ключом из Словаря (TKey, TValue). |
Нанизывать | Возвращает строку, которая представляет текущий объект. (Унаследовано от Object.) |
TryGetValue | Получает значение, связанное с указанным ключом. |
пример
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
Когда вы компилируете и выполняете программу, она дает следующий результат:
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"]