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

Метод ToImmutableHashSet

Метод расширения ToImmutableHashSet (пространство имён System.Collections.Immutable) строит ImmutableHashSet<T> из IEnumerable<T>. Дубликаты отбрасываются; исходная коллекция не обязана быть множеством.

Синтаксис

ImmutableHashSet<T> set = source.ToImmutableHashSet();

Пример

Давайте преобразовать массив чисел:

using System; using System.Collections.Immutable; class Program { static void Main() { int[] arr = {1, 2, 3, 2, 1}; ImmutableHashSet<int> nums = arr.ToImmutableHashSet(); Console.WriteLine(nums.Count); Console.WriteLine(nums.Contains(3)); } }

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

3 True

Пример

Давайте построить множество из HashSet<T>:

using System; using System.Collections.Generic; using System.Collections.Immutable; class Program { static void Main() { HashSet<string> src = new HashSet<string> {"a", "b", "c"}; ImmutableHashSet<string> items = src.ToImmutableHashSet(); src.Add("d"); Console.WriteLine(items.Count); Console.WriteLine(items.Contains("d")); } }

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

3 False

Пример

Давайте передать компаратор равенства:

using System; using System.Collections.Immutable; class Program { static void Main() { string[] arr = {"a", "A"}; ImmutableHashSet<string> items = arr.ToImmutableHashSet( StringComparer.OrdinalIgnoreCase); Console.WriteLine(items.Count); } }

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

1

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

  • метод Add,
    который добавляет элемент в новое множество
  • метод ToFrozenSet,
    который строит замороженное множество
  • класс HashSet,
    который можно менять до заморозки
  • интерфейс IReadOnlySet,
    который реализует ImmutableHashSet
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить