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

Класс ImmutableDictionary

Класс ImmutableDictionary<TKey, TValue> из System.Collections.Immutable хранит пары без изменения на месте. Любое добавление или удаление создаёт новый экземпляр.

Синтаксис

ImmutableDictionary<TKey, TValue> map = ImmutableDictionary<TKey, TValue>.Empty;

Пример

Давайте создать пустую таблицу и добавить пару:

using System; using System.Collections.Generic; using System.Collections.Immutable; class Program { static void Main() { ImmutableDictionary<int, string> map = ImmutableDictionary<int, string>.Empty; ImmutableDictionary<int, string> map2 = map.Add(1, "a"); Console.WriteLine(map.IsEmpty); Console.WriteLine(map2[1]); } }

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

True "a"

Пример

Давайте построить таблицу цепочкой Add:

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

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

3

Пример

Давайте убедиться, что старая версия не меняется:

using System; using System.Collections.Generic; using System.Collections.Immutable; class Program { static void Main() { ImmutableDictionary<int, string> map = ImmutableDictionary<int, string>.Empty.Add(1, "a"); ImmutableDictionary<int, string> map2 = map.Add(2, "b"); Console.WriteLine(map.ContainsKey(2)); Console.WriteLine(map2.ContainsKey(2)); } }

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

False True

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

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