C#入门:自定义IEnumerable集合示例解析

需积分: 6 2 下载量 72 浏览量 更新于2024-08-19 收藏 4.81MB PPT 举报
"C# 入门 - IEnumerable自定义集合示例" 在C#编程中,`IEnumerable`接口和`IEnumerator`接口是实现自定义集合的关键组成部分。这些接口允许程序员创建可迭代的数据结构,使得可以方便地遍历集合中的每一个元素。在给定的示例中,我们看到一个自定义的集合类`Iterator`实现了这两个接口。 `IEnumerable`接口定义了一个方法`GetEnumerator()`,用于返回一个`IEnumerator`实例,这个实例可以用来遍历集合。在`Iterator`类中,我们看到`IEnumerable`接口被实现,并且`GetEnumerator()`方法返回的是`Iterator`自身,因为`Iterator`同时实现了`IEnumerator`接口。 `IEnumerator`接口则包含三个方法:`Current`属性(获取当前元素),`MoveNext()`(将指针移动到下一个元素并返回是否还有下一个元素)和`Reset()`(重置指针到集合的第一个元素之前)。在`Iterator`类中,`MoveNext()`方法通过递增`Cnt`来移动到下一个元素,而`Reset()`方法将`Cnt`设置回-1,确保从头开始遍历。 在示例的`Iterator`类中,还定义了一个名为`MyClass`的内部类,用于存储集合中的元素,每个元素都有一个`Name`字符串和一个`Age`整数。`MyClass`类通过带有两个参数的构造函数初始化成员变量。 在初始化`Iterator`实例时,`ClassArray`被赋值为一个包含四个`MyClass`对象的数组。这些对象通过构造函数创建,并分别赋予了不同的`Name`和`Age`值。`Cnt`变量初始值设为-1,表示在遍历开始前指针不在任何元素上。 这个示例展示了如何自定义一个集合类来实现迭代器模式,使得我们可以像处理内置集合类型(如数组或列表)一样遍历自定义集合。这对于需要创建复杂数据结构或自定义逻辑的遍历操作非常有用。 此外,从标签"C# 入门"来看,这个示例是针对初学者设计的,帮助他们理解C#语言的基本结构和.NET Framework的工作原理。`.NET Framework`提供了统一的运行时环境(CLR,Common Language Runtime)和中间语言(MSIL,Microsoft Intermediate Language),使得不同语言编写的代码能够在同一平台上无缝运行。C#作为.NET Framework的一部分,结合了C/C++的效率和VB的易用性,是一种面向对象的现代编程语言,适用于开发各种类型的应用程序,包括基于网络的服务、数据库应用以及Windows桌面应用。