Метод 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,
который можно передать в метод