Класс Dictionary <‘TKey,’ TValue> является изменяемым аналогом структуры данных карты F # и содержит много одинаковых функций.
Повторяем из главы «Карта» в F #, карта — это особый вид набора, который связывает значения с ключом.
Создание изменчивого словаря
Изменяемые словари создаются с использованием нового ключевого слова и вызова конструктора списка. Следующий пример демонстрирует это —
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 | Получает значение, связанное с указанным ключом. |
пример
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
Когда вы компилируете и запускаете программу, она выдает следующий вывод: