Windows.Foundation.Collections 命名空间

定义标准、专用和泛型集合对象。 这包括 IIterable<T>、IVector<T> 和 IMap<K、V> 泛型接口,这些接口用作整个 Windows 运行时 API 中基本集合支持的模式。

PropertySet

表示一个属性集,该属性集是一组具有字符串键的 PropertyValue 对象。

StringMap

关联集合,也称为地图或字典。

ValueSet

实现一个映射,其键类型为 String,类型为 Object的值。 对象必须是 WinRT PropertyValue 或 ValueSet。 作为 PropertyValue,它可以是除 PropertyTypeInspectableArray之外的任何类型。 存在此限制以确保可以序列化值;通过跨进程边界的值传递。

注意

某些成员仅适用于指定语言。

接口

IIterable<T>

公开一个迭代器,该迭代器支持对指定类型的集合进行简单迭代。

.NET 此接口 显示为 system.Collections.Generic.IEnumerable<T>。 如果 Windows 运行时类型实现了 IIterable<T>,.NET 代码可以改用 IEnumerable<T> 的 API。 C# 代码可以使用 foreach,Visual Basic 代码可以使用 For Each...下一。 所有基于 IEnumerable<T> 且包含在 UWP 应用的 .NET 扩展方法(包括 System.Linq 扩展(只要包含命名空间)即可访问)。

IIterator<T>

支持对集合进行简单迭代。

IKeyValuePair<K,V>

表示键值对。 当需要将两个类型参数封装到一个类型中以满足另一个泛型接口的约束时,这通常用作约束类型。

.NET 此接口显示为 System.Collections.Generic.KeyValuePair<TKey,TValue>(结构,而不是接口)。 如果 Windows 运行时类型实现了 IKeyValuePair<K、V>,.NET 代码可以使用 KeyValuePair 的 API。

IMap<K,V>

表示关联集合,也称为地图或字典。

.NET 由于 .NET 语言投影,此接口显示为 System.Collections.Generic.IDictionary<TKey,TValue>。 在 Windows 运行时类型已实现 IMap<K、V>的情况下,.NET 代码可以使用 IDictionary<TKey、TValue> 的 API。

IMapChangedEventArgs<K>

为地图集合的更改事件提供数据。

IMapView<K,V>

表示地图中的不可变视图。

.NET 由于 .NET 语言投影,此接口显示为 System.Collections.Generic.IReadOnlyDictionary<TKey,TValue>。 如果 Windows 运行时类型实现了 IMapView<K、V>,.NET 代码可以使用 IReadOnlyDictionary<TKey、TValue> 的 API。

IObservableMap<K,V>

向侦听器通知对地图的动态更改,例如添加或删除项时。

IObservableVector<T>

向量更改通知侦听器。

IPropertySet

表示键值对的集合,将其他几个集合接口关联起来。

IVector<T>

表示元素的随机访问集合。

.NET 由于 .NET 语言投影,此接口显示为 .NET 代码 System.Collections.Generic.IList<T>。 如果 Windows 运行时类型已实现 IVectorT,.NET 代码则可以改用 IListT 的 API。

IVectorChangedEventArgs

为矢量的更改事件提供数据。

IVectorView<T>

表示向量中的不可变视图。

.NET 由于 .NET 语言投影,此接口显示为 .NET 代码 System.Collections.Generic.IReadOnlyList<T>。 如果 Windows 运行时类型实现了 IVectorView<T>,.NET 代码可以使用 IReadOnlyList<T> 的 API。

枚举

CollectionChange

描述导致对集合进行更改的操作。

委托

MapChangedEventHandler<K,V>

表示处理可观测地图已更改事件的方法。

VectorChangedEventHandler<T>

表示处理可观测向量已更改事件的方法。

注解

此命名空间中定义的许多接口和对象具有不同的语言等效项,具体取决于所使用的编程语言。 有关从C++代码使用这些接口的详细信息,请参阅 集合(C++/CX)。 有关使用 .NET 代码中的集合类型的详细信息,请参阅此命名空间中定义的特定类型的备注。

另请参阅