Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
442 of 1492 menu
◀ ▶

Класс Dictionary

Класс Dictionary<TKey, TValue> из System.Collections.Generic хранит уникальные ключи и связанные с ними значения. Поиск, добавление и удаление по ключу выполняются за амортизированное константное время. Ключи сравниваются через IEqualityComparer<TKey> или равенство по умолчанию для типа ключа.

Синтаксис

Dictionary<TKey, TValue> map = new Dictionary<TKey, TValue>(); Dictionary<TKey, TValue> map = new Dictionary<TKey, TValue>(capacity);

Пример

Давайте создадим таблицу и добавим пары через Add:

using System; using System.Collections.Generic; class Program { static void Main() { Dictionary<int, string> map = new Dictionary<int, string>(); map.Add(1, "a"); map.Add(2, "b"); map.Add(3, "c"); Console.WriteLine(map[2]); } }

Результат выполнения кода:

"b"

Пример

Давайте заполним таблицу инициализатором коллекции:

using System; using System.Collections.Generic; class Program { static void Main() { Dictionary<int, string> map = new Dictionary<int, string> { {1, "a"}, {2, "b"}, {3, "c"}, {4, "d"}, {5, "e"} }; Console.WriteLine(map.Count); } }

Результат выполнения кода:

5

Пример

Давайте прочитаем значение через индексатор по ключу:

using System; using System.Collections.Generic; class Program { static void Main() { Dictionary<string, int> map = new Dictionary<string, int> { {"a", 1}, {"b", 2}, {"c", 3} }; Console.WriteLine(map["b"]); } }

Результат выполнения кода:

2

Пример

Давайте выведем ключи в отсортированном виде:

using System; using System.Collections.Generic; using System.Linq; class Program { static void Main() { Dictionary<int, string> map = new Dictionary<int, string> { {3, "c"}, {1, "a"}, {2, "b"} }; int[] keys = map.Keys.OrderBy(k => k).ToArray(); Console.WriteLine(string.Join(" ", keys)); } }

Результат выполнения кода:

"1 2 3"

Смотрите также

  • метод TryGetValue,
    который безопасно читает значение
  • свойство Count,
    которое возвращает число пар
  • класс SortedDictionary,
    который сортирует ключи при обходе
  • интерфейс IDictionary,
    который задаёт контракт таблицы
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить