集合接口和类型 |接口| 说明| |: |: :| IEnumerable|如果将foreach语句用于集合,就需要IEnumerable接口。这个接口定义了方法GetEnumerator(),它返回一个实现了IEnumerator接口的枚举 ICollection |ICollection接口由泛 ...
下面的代码示例演示如何实现自定义集合的 IEnumerable 和 IEnumerator 接口: 可枚举类型 → 实现IEnumerable接口,可以不需要直接实现这个接口,但必须有个GetEnumerator方法,返回值类型必须为IEnumerator类型,也就是第四点最后一段代码中接口注释的那 ...
分类:
编程语言 时间:
2019-09-23 14:57:35
阅读次数:
88
1 /* 2 IEnumerator 接口 3 支持对非泛型集合的简单迭代。 4 5 IEnumerator 是所有非泛型枚举数的基接口。 6 7 8 C# 语言的 foreach 语句(在 Visual Basic 中为 for each)隐藏了枚举数的复杂性。 9 10 枚举数可用于读取集合中的... ...
分类:
其他好文 时间:
2018-11-10 12:54:57
阅读次数:
188
1 /* 2 IEnumerator 接口 3 支持对非泛型集合的简单迭代。 4 5 IEnumerator 是所有非泛型枚举数的基接口。 6 7 8 C# 语言的 foreach 语句(在 Visual Basic 中为 for each)隐藏了枚举数的复杂性。 9 10 枚举数可用于读取集合中的... ...
分类:
其他好文 时间:
2018-11-10 12:32:44
阅读次数:
113
Foreach能够获取数组中的每一个元素,原因数组能够提供一个枚举器的对象。对于枚举器类型而言,必须有一个方法来获取它。获取一个对象枚举器的方法是调用对象的GetEnumerator方法。数组是可枚举类型。 IEnumerator接口: 实现了IEnumerator接口的枚举器包含了Current、 ...
在计算机这个范畴内存在许多种类的集合,从简单的数据结构比如数组、链表,到复杂的数据结构比如红黑树,哈希表。尽管这些数据结构的内部实现和外部特征大相径庭,但是遍历集合的内容确是一个共同的需求。.NET Framework通过IEnumerable和IEnumerator接口实现遍历集合功能。 IEnu ...
分类:
编程语言 时间:
2018-05-27 12:21:22
阅读次数:
281
首先搞清楚这两个接口,可以看出这两个接口是有一定的关联的,IEnumerable的接口成员是返回一个IEnumerator接口对象, 这个接口对象,有三个成员。 // 摘要: // Exposes an enumerator, which supports a simple iteration ov... ...
分类:
其他好文 时间:
2018-01-18 15:03:57
阅读次数:
179
foreach遍历是C#常见的功能,而本文通过实例形式展现了C#使用yield关键字让自定义集合实现foreach遍历的方法。具体步骤如下: 一般来说当我们创建自定义集合的时候为了让其能支持foreach遍历,就只能让其实现IEnumerable接口(可能还要实现IEnumerator接口) 但是我 ...
1、IEnumerator和IEnumerable的作用 其实IEnumerator和IEnumerable的作用很简单,就是让除数组和集合之外的类型也能支持foreach循环,至于foreach循环,如果不清楚,请参考C# foreach循环较for循环的优势与劣势 代码如下: 以上代码说明自定义 ...
分类:
编程语言 时间:
2017-08-23 19:03:43
阅读次数:
132
foreach 能够进行foreach的类型结构,都必须实现IEnumerable接口。 IEnumerable接口,有一个GetEnumerator的方法,返回一个实现IEnumerator接口的对象。IEnumerator接口,有Current只读属性,MoveNext方法,Reset方法。 第 ...