Метод 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