IIterator<T> 接口
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
支持对集合进行简单迭代。
public interface class IIterator
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.FoundationContract, 65536)]
/// [Windows.Foundation.Metadata.Guid(1786374243, 17152, 17818, 153, 102, 203, 182, 96, 150, 62, 225)]
template <typename T>
struct IIterator
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.FoundationContract), 65536)]
[Windows.Foundation.Metadata.Guid(1786374243, 17152, 17818, 153, 102, 203, 182, 96, 150, 62, 225)]
public interface IIterator<T>
Public Interface IIterator(Of T)
类型参数
- T
- 派生
- 属性
Windows 要求
设备系列 |
Windows 10 (在 10.0.10240.0 中引入)
|
API contract |
Windows.Foundation.FoundationContract (在 v1.0 中引入)
|
注解
.NET 的语言投影未显式隐藏 IIterator<T> 接口,但 IIterable\<T\> 接口是隐藏的。 对于大多数专门需要迭代器对象的 API 的 .NET 方案,你可能会使用 IEnumerator<T> (可能具有通过调用 IEnumerable<T> 获取的特定类型约束) 。GetEnumerator。
如果对集合进行了更改(例如添加、修改或删除元素),则允许迭代器为所有操作引发异常。
C++/WinRT 扩展函数
注意
某些Windows 运行时 API 的 C++/WinRT 投影类型上存在扩展函数。 例如, winrt::Windows::Foundation::IAsyncAction 是 IAsyncAction 的 C++/WinRT 投影类型。 扩展函数不是应用程序二进制接口的一部分, (ABI) 实际Windows 运行时类型的图面,因此它们不会列为Windows 运行时 API 的成员。 但可以从任何 C++/WinRT 项目中调用它们。 请参阅扩展Windows 运行时 API 的 C++/WinRT 函数。
operator++();
operator++(int);
这些运算符允许对Windows 运行时可迭代对象进行 ranged-for 循环。 前缀和后缀 ++
运算符将推进迭代器,如果迭代器已完成,则将其设置为 nullptr
。
T operator*() const;
取消引用迭代器等效于调用 Current。
using iterator_concept= std::input_iterator_tag;
using iterator_catetory = std::input_iterator_tag;
using value_type = T;
using difference_type = ptrdiff_t;
using pointer = void;
using reference = T;
提高与 C++ 迭代器互操作性的嵌套类型。
属性
Current |
获取集合中的当前项。 |
HasCurrent |
获取一个值,该值指示迭代器是引用当前项还是位于集合的末尾。 |
方法
GetMany(T[]) |
从迭代器检索多个项。
|
MoveNext() |
将迭代器推进到集合中的下一项。 |