Класс SortedSet
SortedSet
реализуются интерфейсы ISet, ICollection, ICollection, IEnumerable, IEnumerable, ISerializable
, а также IDeserializationCallback
. В коллекции типа SortedSet
реализуется множество, все элементы которого являются уникальными. Иными словами, дубликаты в таком множестве не допускаются. В классе SortedSet
определяется полный набор операций с множеством, определенных в интерфейсе ISet
, включая пересечение, объединение и разноименность. Благодаря тому что все элементы коллекции типа SortedSet
сохраняются в отсортированном порядке, класс SortedSet
оказывается идеальным средством для работы с отсортированными множествами объектов. Коллекция типа SortedSet
имеет динамический характер и расширяется по мере необходимости, чтобы вместить все элементы, которые должны в ней храниться.Ниже перечислены четыре наиболее часто используемые конструктора, определенных в классе SortedSet
public SortedSetO
public SortedSet(IEnumerable
public SortedSet(IComparer comparer)
public SortedSet(IEnumerable
В первой форме конструктора создается пустое множество, а во второй форме — множество, состоящее из элементов указываемой коллекции
В классе SortedSet
ISet
, а следовательно, в нем предоставляется полный набор операций со множествами. В этом классе предоставляется также метод GetViewBetween()
, возвращающий часть множества в форме объекта типа SortedSet
, метод RemoveWhere()
, удаляющий из множества элементы, не удовлетворяющие заданному условию, или предикату, а также метод Reverse()
, возвращающий объект типа IEnumerable
, который циклически проходит множество в обратном порядке.Помимо свойств, определенных в интерфейсах, которые реализуются в классе SortedSet
public IComparer
public T Max { get; }
public T Min { get; }
Свойство Comparer
Мах
получает наибольшее значение во множестве, а свойство Min
— наименьшее значение во множестве.В качестве примера применения класса SortedSet
HashSet
на SortedSet
в исходном коде программы из предыдущего подраздела, посвященного коллекциям типа HashSet
.Параллельные коллекции
В версию 4.0 среды .NET Framework добавлено новое пространство имен System.Collections.Concurrent. Оно содержит коллекции, которые являются потокобезопасными и специально предназначены для параллельного программирования. Это означает, что они могут безопасно использоваться в многопоточной программе, где возможен одновременный доступ к коллекции со стороны двух или больше параллельно исполняемых потоков. Ниже перечислены классы параллельных коллекций.
Параллельная коллекция -
ОписаниеBlockingCollection
ConcurrentBag
ConcurrentDictionary
ConcurrentQueue
ConcurrentStack