Поделиться через


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 см. в примечаниях в определенных типах, определенных в этом пространстве имен.

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