В пространстве именSystem.Collections. Genericопределена структураKeyValuePair.Она служит для хранения ключа и его значения и применяется в классах обобщенных коллекций, в которых хранятся пары "ключ-значение", как, например, в классеDictionaryВ этой структуре определяются два следующих свойства.

public TKey Key { get; }; public TValue Value { get; };

В этих свойствах хранятся ключ и значение соответствующего элемента коллекции. Для построения объекта типаKeyValuePairслужит конструктор:

public KeyValuePair(TKeykey,TValuevalue)гдеkeyобозначает ключ, avalue —значение.

Классы обобщенных коллекций

Как упоминалось ранее, классы обобщенных коллекций по большей части соответствуют своим необобщенным аналогам, хотя в некоторых случаях они носят другие имена. Отличаются они также своей организацией и функциональными возможностями. Классы обобщенных коллекций определяются в пространстве именSystem. Collections . Generic.В табл. 25.14 приведены классы, рассматриваемые в этой главе. Эти классы составляют основу обобщенных коллекций.

Таблица 25.14. Основные классы обобщенных коллекций

Класс

Описание

Dictionary

TValue>

Сохраняет пары “ключ-значение". Обеспечивает такие же функциональные возможности, как и необобщенный класс Hashtable

HashSet

Сохраняет ряд уникальных значений, используя хеш-таблицу

LinkedList

Сохраняет элементы в двунаправленном списке

List

Создает динамический массив. Обеспечивает такие же функциональные возможности, как и необобщенный класс ArrayList

Queue

Создает очередь. Обеспечивает такие же функциональные возможности, как и необобщенный класс Queue

SortedDictionary

Создает отсортированный список из пар “ключ-

TValue>

значение"

SortedList

TValue>

Создает отсортированный список из пар “ключ-значение”. Обеспечивает такие же функциональные возможности, как и необобщенный класс SortedList

SortedSet

Создает отсортированное множество

Stack

Создает стек. Обеспечивает такие же функциональные возможности, как и необобщенный класс Stack

ПРИМЕЧАНИЕ

В пространстве имен System. Collections. Generic находятся также следующие классы: класс SynchronizedCollection синхронизированной коллекции на основе класса IList; класс SynchronizedReadOnlyCollection, доступной только для чтения синхронизированной коллекции на основе класса lList; абстрактный класс SynchronizedKeyCollectioncK, т>, служащий в качестве базового для класса коллекции System. ServiceModel. UriSchemeKeyedCollection; а также класс KeyedByTypeCollection коллекции, в которой в качестве ключей используются отдельные типы данных.

Класс List

В классеListреализуется обобщенный динамический массив. Он ничем принципиально не отличается от класса необобщенной коллекцииArrayList.В этом классе реализуются интерфейсыICollection, ICollection, IList, IList, IEnumerableиIEnumerable.У классаListимеются следующие конструкторы.

public List()

public List(IEnumerablecollection)public List(intcapacity)

Перейти на страницу:

Похожие книги