Учебники

F # — изменчивый словарь

Класс Dictionary <‘TKey,’ TValue> является изменяемым аналогом структуры данных карты F # и содержит много одинаковых функций.

Повторяем из главы «Карта» в F #, карта — это особый вид набора, который связывает значения с ключом.

Создание изменчивого словаря

Изменяемые словари создаются с использованием нового ключевого слова и вызова конструктора списка. Следующий пример демонстрирует это —

Live Demo

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).

свойства

Имущество Описание
Comparer Получает 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 Определяет, содержит ли словарь (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 Получает значение, связанное с указанным ключом.

пример

Live Demo

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

Когда вы компилируете и запускаете программу, она выдает следующий вывод: