bool IsProperSupersetOf(lEnumerable other) -
возвращает логическое значение true, если вызывающее множество является правильным надмножеством другого множества other, а иначе — логическое значение falsebool IsSubsetOf(IEnumerable other) -
Возвращает логическое значение true, если вызывающее множество является подмножеством другого множества other, а иначе — логическое значение falsebool IsSupersetOf(IEnumerable other) -
Возвращает логическое значение true, если вызывающее множество является надмножеством другого множества other, а иначе — логическое значение falsebool Overlaps(IEnumerable other) -
Возвращает логическое значение true, если вызывающее множество и другое множество other содержат хотя бы один общий элемент, а иначе — логическое значение falsebool SetEquals(IEnumerable other) -
Возвращает логическое значение true, если все элементы вызывающего множества и другого множества other оказываются общими, а иначе —логическое значение false. Порядок расположения элементов не имеет значения, а дублирующиеся элементы во другом множестве other игнорируютсяvoid SymmetricExceptWith (IEnumerable other) -
После вызова этого метода вызывающее множество будет содержать симметрическую разность своих элементов и элементов другого множества othervoid UnionWith(IEnumerable other) -
После вызова этого метода вызывающее множество будет содержать объединение своих элементов и элементов другого множества other
Структура KeyValuePair
В пространстве имен System.Collections.Generic
определена структура KeyValuePair
. Она служит для хранения ключа и его значения и применяется в классах обобщенных коллекций, в которых хранятся пары "ключ-значение", как, например, в классе Dictionary.
В этой структуре определяются два следующих свойства.
public TKey Key { get; };
public TValue Value { get; };
В этих свойствах хранятся ключ и значение соответствующего элемента коллекции. Для построения объекта типа KeyValuePair
служит конструктор:
public KeyValuePair(TKey key,
TValue value)
где key
обозначает ключ, a value — значение.
Классы обобщенных коллекций
Как упоминалось ранее, классы обобщенных коллекций по большей части соответствуют своим необобщенным аналогам, хотя в некоторых случаях они носят другие имена. Отличаются они также своей организацией и функциональными возможностями. Классы обобщенных коллекций определяются в пространстве имен System.Collections.Generic
. В табл. 25.14 приведены классы, рассматриваемые в этой главе. Эти классы составляют основу обобщенных коллекций.
Таблица 25.14. Основные классы обобщенных коллекций
Класс -
Описание
Dictionary -
Сохраняет пары “ключ-значение". Обеспечивает такие же функциональные возможности, как и необобщенный класс HashtableHashSet -
Сохраняет ряд уникальных значений, используя хеш-таблицу LinkedList -
Сохраняет элементы в двунаправленном спискеList -
Создает динамический массив. Обеспечивает такие же функциональные возможности, как и необобщенный класс ArrayListQueue -
Создает очередь. Обеспечивает такие же функциональные возможности, как и необобщенный класс QueueSortedDictionary -
Создает отсортированный список из пар “ключ-значение"SortedList -
Создает отсортированный список из пар “ключ-значение”. Обеспечивает такие же функциональные возможности, как и необобщенный класс SortedListSortedSet -
Создает отсортированное множествоStack -
Создает стек. Обеспечивает такие же функциональные возможности, как и необобщенный класс Stack-------------------------------
ПРИМЕЧАНИЕ
В пространстве имен System.Collections.Generic
находятся также следующие классы: класс SynchronizedCollection
синхронизированной коллекции на основе класса IList
; класс SynchronizedReadOnlyCollection
, доступной только для чтения синхронизированной коллекции на основе класса lList;
абстрактный класс SynchronizedKeyCollectionc
служащий в качестве базового для класса коллекции System.ServiceModel.UriSchemeKeyedCollection
; а также класс KeyedByTypeCollection
коллекции, в которой в качестве ключей используются отдельные типы данных.-------------------------------
Класс List