IIterable<T> 接口
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
公开一个迭代器,该迭代器支持对指定类型的集合进行简单迭代。
。网 此接口显示为 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 扩展,只要已将命名空间) 。
public interface class IIterable
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.FoundationContract, 65536)]
/// [Windows.Foundation.Metadata.Guid(4205151722, 25108, 16919, 175, 218, 127, 70, 222, 88, 105, 179)]
template <typename T>
struct IIterable
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.FoundationContract), 65536)]
[Windows.Foundation.Metadata.Guid(4205151722, 25108, 16919, 175, 218, 127, 70, 222, 88, 105, 179)]
public interface IEnumerable<T>
Public Interface IEnumerable(Of T)
类型参数
- T
- 属性
Windows 要求
设备系列 |
Windows 10 (在 10.0.10240.0 中引入)
|
API contract |
Windows.Foundation.FoundationContract (在 v1.0 中引入)
|
注解
使用 .NET 编程时,此接口是隐藏的,开发人员应使用 System.Collections.Generic.IEnumerable<T> 接口。 由于投影的完成方式, GetEnumerator 方法并非始终作为直接可调用方法可用于将 IEnumerable<T> 投影为实现的类型,但仍支持使用标准枚举语法 (foreach) 的集合。 编译器为你执行类型强制转换,你无需显式强制转换为 IEnumerable
。 如果需要显式强制转换(例如,如果要从类调用 GetEnumerator ),请在强制转换中使用与集合的项类型匹配的约束转换为 IEnumerab<T>。
C++/WinRT 扩展函数
注意
某些Windows 运行时 API 的 C++/WinRT 投影类型上存在扩展函数。 例如, winrt::Windows::Foundation::IAsyncAction 是 IAsyncAction 的 C++/WinRT 投影类型。 扩展函数不是应用程序二进制接口的一部分, (ABI) 实际Windows 运行时类型的图面,因此它们不会列为Windows 运行时 API 的成员。 但可以从任何 C++/WinRT 项目中调用它们。 请参阅扩展Windows 运行时 API 的 C++/WinRT 函数。
auto begin() const;
返回集合的第一个元素的迭代器,以便在 C++ 算法(如基于 for
范围的循环)中使用。
auto end() const;
返回一个迭代器,该迭代器指向集合最后一个元素之后的迭代器,以便在 C++ 算法(如基于 for
范围的循环)中使用。
方法
First() |
返回集合中项的迭代器。 |