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 扩展,只要已将命名空间) 。

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::IAsyncActionIAsyncAction 的 C++/WinRT 投影类型。 扩展函数不是应用程序二进制接口的一部分, (ABI) 实际Windows 运行时类型的图面,因此它们不会列为Windows 运行时 API 的成员。 但可以从任何 C++/WinRT 项目中调用它们。 请参阅扩展Windows 运行时 API 的 C++/WinRT 函数

auto begin() const;

返回集合的第一个元素的迭代器,以便在 C++ 算法(如基于 for 范围的循环)中使用。

auto end() const;

返回一个迭代器,该迭代器指向集合最后一个元素之后的迭代器,以便在 C++ 算法(如基于 for 范围的循环)中使用。

方法

First()

返回集合中项的迭代器。

适用于

另请参阅