Windows.Foundation.Collections Пространство имен

Определяет стандартные, специализированные и универсальные объекты коллекции. Сюда входят универсальные интерфейсы IIterable<T>, IVector<T> и IMap<K,V>, которые используются в качестве шаблона для базовой поддержки коллекций в API среда выполнения Windows.

Классы

PropertySet

Представляет набор свойств, который представляет собой набор объектов PropertyValue со строковыми ключами.

StringMap

Ассоциативная коллекция, также называемая картой или словарем.

ValueSet

Реализует сопоставление с ключами типа String и значениями типа Object. Объект должен быть свойством WinRTValue или ValueSet. Свойство PropertyValue может иметь любой тип, кроме PropertyTypeInspectableArray. Это ограничение существует для обеспечения сериализации значения; передается по значению через границу процесса.

Примечание

Некоторые элементы доступны только для указанного языка.

Интерфейсы

IIterable<T>

Предоставляет итератор, поддерживающий простую итерацию по коллекции указанного типа.

.ЧИСТАЯ Этот интерфейс отображается как System.Collections.Generic.IEnumerable<T>. В любом случае, если тип среда выполнения Windows реализует IIterable<T>, код .NET может использовать API IEnumerable<T>. В коде C# можно использовать foreach, в Visual Basic — for Each... Далее. Все методы расширения .NET, основанные на IEnumerable<T> и включенные в .NET для приложений UWP, доступны (включая расширения System.Linq , если вы включили пространство имен).

IIterator<T>

Поддерживает простую итерацию по коллекции.

IKeyValuePair<K,V>

Представляет пару "ключ-значение". Обычно используется в качестве типа ограничения, когда необходимо инкапсулировать два параметра типа в один для удовлетворения ограничений другого универсального интерфейса.

.ЧИСТАЯ Этот интерфейс отображается как System.Collections.Generic.KeyValuePair<TKey,TValue> (структура, а не интерфейс). В любом случае, когда тип среда выполнения Windows реализовал IKeyValuePair<K,V>, код .NET может использовать API KeyValuePair.

IMap<K,V>

Представляет ассоциативную коллекцию, также называемую картой или словарем.

.ЧИСТАЯ Этот интерфейс отображается в коде .NET как System.Collections.Generic.IDictionary<TKey,TValue> из-за проекции языка .NET. В любом случае, когда тип среда выполнения Windows реализует IMap<K,V>, код .NET может использовать api IDictionary<TKey,TValue>.

IMapChangedEventArgs<K>

Предоставляет данные для события изменения коллекции карт.

IMapView<K,V>

Представляет неизменяемое представление на карте.

.ЧИСТАЯ Этот интерфейс отображается как System.Collections.Generic.IReadOnlyDictionary<TKey,TValue> из-за проекции языка .NET. В любом случае, когда тип среда выполнения Windows реализует IMapView<K,V>, код .NET может использовать API IReadOnlyDictionary<TKey,TValue>.

IObservableMap<K,V>

Уведомляет прослушивателей о динамических изменениях карты, например о добавлении или удалении элементов.

IObservableVector<T>

Уведомляет прослушиватели об изменениях в векторе.

IPropertySet

Представляет коллекцию пар "ключ-значение", коррелирующих несколько других интерфейсов коллекции.

IVector<T>

Представляет коллекцию элементов с произвольным доступом.

.ЧИСТАЯ Этот интерфейс отображается в коде .NET как System.Collections.Generic.IList<T> из-за проекции языка .NET. В любом случае, когда тип среда выполнения Windows реализует IVector<T>, код .NET может использовать API IList<T>.

IVectorChangedEventArgs

Предоставляет данные для измененного события вектора.

IVectorView<T>

Представляет неизменяемое представление в векторе.

.ЧИСТАЯ Этот интерфейс отображается в коде .NET как System.Collections.Generic.IReadOnlyList<T> из-за проекции языка .NET. В любом случае, если тип среда выполнения Windows реализует IVectorView<T>, код .NET может использовать API IReadOnlyList<T>.

Перечисления

CollectionChange

Описывает действие, которое приводит к изменению коллекции.

Делегаты

MapChangedEventHandler<K,V>

Представляет метод, обрабатывающий событие изменения наблюдаемой карты.

VectorChangedEventHandler<T>

Представляет метод, обрабатывающий событие изменения наблюдаемого вектора.

Комментарии

Многие интерфейсы и объекты, определенные в этом пространстве имен, имеют разные эквиваленты языка в зависимости от используемого языка программирования. Дополнительные сведения об использовании этих интерфейсов из кода C++ см. в разделе Коллекции (C++/CX). Дополнительные сведения об использовании типов коллекций из кода .NET см. в примечаниях в конкретных типах, определенных в этом пространстве имен.

См. также раздел