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

Класс 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,
    который оптимизирован для чтения
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить