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

Метод ToImmutableDictionary

Метод ToImmutableDictionary - расширение для IEnumerable<T> и пар KeyValuePair<TKey, TValue>, которое строит ImmutableDictionary<TKey, TValue>.

Синтаксис

ImmutableDictionary<TKey, TValue> imm = source.ToImmutableDictionary();

Пример

Давайте заморозить Dictionary:

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

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

"b"

Пример

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

using System; using System.Collections.Generic; using System.Collections.Immutable; class Program { static void Main() { Dictionary<int, string> map = new Dictionary<int, string> { {1, "a"} }; ImmutableDictionary<int, string> imm = map.ToImmutableDictionary(); map[1] = "x"; Console.WriteLine(imm[1]); } }

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

"a"

Пример

Давайте построить из последовательности пар:

using System; using System.Collections.Generic; using System.Collections.Immutable; class Program { static void Main() { KeyValuePair<int, string>[] pairs = new KeyValuePair<int, string>[] { new KeyValuePair<int, string>(1, "a"), new KeyValuePair<int, string>(2, "b") }; ImmutableDictionary<int, string> imm = pairs.ToImmutableDictionary(); Console.WriteLine(imm.Count); } }

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

2

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

  • метод ToImmutableList,
    который замораживает список
  • метод ToFrozenDictionary,
    который строит FrozenDictionary
  • класс ImmutableDictionary,
    который хранит результат
  • класс Dictionary,
    который можно передать в метод
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить