Windows.Foundation.Collections 命名空间

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

PropertySet

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

StringMap

关联集合,也称为映射或字典。

ValueSet

使用 字符串 类型的键和 Object 类型的值实现映射。 对象必须是 WinRT PropertyValue 或 ValueSet。 作为 PropertyValue,它可以是 除 PropertyTypeInspectableArray 以外的任何类型。 存在此限制是为了确保值可以序列化;由值跨进程边界传递。

注意

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

接口

IIterable<T>

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

。网 此接口显示为 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>

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

。网 此接口显示为 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 语言投影,此接口显示为 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 代码使用集合类型的详细信息,请参阅此命名空间中定义的特定类型中的备注。

另请参阅