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> 且包含在 .NET for 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 语言投影,此接口显示为 System.Collections.Generic.IList<T> 。 在Windows 运行时类型已实现 IVector<T> 的情况下,.NET 代码可以改用 IList<T> 的 API。

IVectorChangedEventArgs

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

IVectorView<T>

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

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

枚举

CollectionChange

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

委托

MapChangedEventHandler<K,V>

表示处理可观测映射更改事件的方法。

VectorChangedEventHandler<T>

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

注解

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

另请参阅