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

Метод ToFrozenSet

Метод расширения ToFrozenSet (пространство имён System.Collections.Frozen) строит FrozenSet<T> из IEnumerable<T>. Повторяющиеся значения схлопываются; результат только для чтения и не меняется после создания.

Синтаксис

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

Пример

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

using System; using System.Collections.Frozen; using System.Collections.Generic; class Program { static void Main() { List<int> src = new List<int> {1, 2, 3, 2, 1}; FrozenSet<int> nums = src.ToFrozenSet(); src.Add(4); Console.WriteLine(nums.Count); Console.WriteLine(nums.Contains(4)); } }

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

3 False

Пример

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

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

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

True 3

Пример

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

using System; using System.Collections.Frozen; class Program { static void Main() { string[] arr = {"a", "A", "b"}; FrozenSet<string> items = arr.ToFrozenSet( StringComparer.OrdinalIgnoreCase); Console.WriteLine(items.Count); Console.WriteLine(items.Contains("A")); } }

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

2 True

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

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