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

Метод Add

Метод Add класса ImmutableDictionary<TKey, TValue> возвращает новую таблицу с парой. Исходный объект не меняется. Если ключ уже есть, выбрасывается исключение.

Синтаксис

ImmutableDictionary<TKey, TValue> next = map.Add(key, value);

Пример

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

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(2, "b"); Console.WriteLine(map.IsEmpty); Console.WriteLine(map2[2]); } }

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

True "b"

Пример

Давайте нарастить несколько 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"); Console.WriteLine(map.Count); } }

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

2

Пример

Давайте сравнить ссылки до и после 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"); ImmutableDictionary<int, string> map2 = map.Add(2, "b"); Console.WriteLine(object.ReferenceEquals(map, map2)); } }

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

False

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

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