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

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

Классы

Имя Описание
PropertySet

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

StringMap

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

ValueSet

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

Заметка

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

Интерфейсы

Имя Описание
IIterable<T>

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

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

IIterator<T>

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

IKeyValuePair<K,V>

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

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

IMap<K,V>

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

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

IMapChangedEventArgs<K>

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

IMapView<K,V>

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

.NET Этот интерфейс отображается как 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 Этот интерфейс отображается в коде .NET как System.Collections.Generic.IList<T> из-за проекции языка .NET. В любом случае, если тип среды выполнения Windows реализовал IVector<T>, код .NET может использовать API IList<T>.

IVectorChangedEventArgs

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

IVectorView<T>

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

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

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

Имя Описание
CollectionChange

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

Делегаты

Имя Описание
MapChangedEventHandler<K,V>

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

VectorChangedEventHandler<T>

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

Комментарии

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

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