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

Класс FrozenSet

Класс FrozenSet<T> из пространства имён System.Collections.Frozen представляет множество только для чтения с быстрым Contains. Создаётся через ToFrozenSet; после построения состав не меняется. Реализует IReadOnlySet<T>.

Синтаксис

FrozenSet<T> set = source.ToFrozenSet();

Пример

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

using System; using System.Collections.Frozen; class Program { static void Main() { int[] arr = {1, 2, 3, 4, 5}; FrozenSet<int> nums = arr.ToFrozenSet(); Console.WriteLine(nums.Count); Console.WriteLine(nums.Contains(3)); } }

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

5 True

Пример

Давайте убрать дубликаты при заморозке:

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

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

3

Пример

Давайте передать FrozenSet<T> как IReadOnlySet<T>:

using System; using System.Collections.Frozen; using System.Collections.Generic; class Program { static void Main() { FrozenSet<string> frozen = new[] {"a", "b", "c"}.ToFrozenSet(); IReadOnlySet<string> view = frozen; Console.WriteLine(view.Contains("b")); } }

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

True

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

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