ImmutableHashSet в C#
Класс ImmutableHashSet хранит только уникальные элементы и не меняется на месте.
Повторное добавление существующего элемента возвращает тот же экземпляр (без лишнего копирования), Count не растёт.
Добавим дубликат и проверим размер. Второй раз элемент 2 не увеличил набор:
using System.Collections.Immutable;
ImmutableHashSet<int> set = ImmutableHashSet.Create(1, 2);
set = set.Add(2);
Console.WriteLine(set.Count); // выведет 2
Соберите неизменяемый набор из чисел 5 и 8, добавьте 5 ещё раз и выведите количество элементов.