Класс ImmutableHashSet
Класс ImmutableHashSet<T> из пространства имён
System.Collections.Immutable представляет
множество, которое нельзя изменить после
создания. Любая «правка» возвращает новый
экземпляр; исходный остаётся прежним.
Реализует
IReadOnlySet<T>.
Синтаксис
ImmutableHashSet<T> set = ImmutableHashSet<T>.Empty;
ImmutableHashSet<T> set = ImmutableHashSet.Create(items);
Пример
Давайте создать множество через Create:
using System;
using System.Collections.Immutable;
class Program
{
static void Main()
{
ImmutableHashSet<int> nums =
ImmutableHashSet.Create(1, 2, 3, 4, 5);
Console.WriteLine(nums.Count);
Console.WriteLine(nums.Contains(3));
}
}
Результат выполнения кода:
5
True
Пример
Давайте добавить элемент методом
Add
и сравнить Count:
using System;
using System.Collections.Immutable;
class Program
{
static void Main()
{
ImmutableHashSet<int> nums =
ImmutableHashSet.Create(1, 2, 3);
ImmutableHashSet<int> next = nums.Add(4);
Console.WriteLine(nums.Count);
Console.WriteLine(next.Count);
}
}
Результат выполнения кода:
3
4
Пример
Давайте убрать дубликаты при создании:
using System;
using System.Collections.Immutable;
class Program
{
static void Main()
{
ImmutableHashSet<int> nums =
ImmutableHashSet.Create(1, 2, 2, 3);
Console.WriteLine(nums.Count);
}
}
Результат выполнения кода:
3
Смотрите также
-
метод
Add,
который возвращает новое множество -
метод
ToImmutableHashSet,
который строит множество из коллекции -
класс
HashSet,
который можно менять на месте -
класс
FrozenSet,
который оптимизирован для чтения