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 扩展。

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;

将迭代器返回到集合的最后一个元素之后的迭代器,以便在基于 for 范围的循环等 C++ 算法中使用。

方法

First()

返回集合中项的迭代器。

适用于

另请参阅