C#入门教程:学习IEnumerable自定义集合

需积分: 9 3 下载量 133 浏览量 更新于2024-08-19 收藏 6.7MB PPT 举报
"C#自定义集合的实现,通过IEnumerable接口创建一个迭代器示例,适合C#新手学习。" 在C#编程中,`IEnumerable`接口是用于定义可枚举集合的标准接口,允许通过foreach循环进行遍历。在这个示例中,我们将探讨如何自定义一个集合,并实现`IEnumerable`接口以便于遍历。 首先,让我们关注这个示例的结构。在`CustomCollection`命名空间中,定义了一个名为`MyClass`的类,它代表集合中的元素,包含两个属性:`Name`和`Age`。`MyClass`有一个带参数的构造函数,用于初始化对象实例。 接下来,我们创建了一个名为`Iterator`的类,它实现了`IEnumerator`和`IEnumerable`接口。`IEnumerator`接口定义了遍历集合所需的方法,包括`MoveNext()`和`Reset()`,以及获取当前项的`Current`属性。而`IEnumerable`接口允许我们的类被用作可枚举类型。 在`Iterator`类中,我们定义了一个私有的`MyClass`数组`ClassArray`,用于存储集合数据。`Constructor`中,我们初始化了数组并添加了几个`MyClass`对象实例。`Reset()`方法将计数器`Cnt`设置为-1,表示在遍历之前的位置。`MoveNext()`方法通过递增`Cnt`并检查是否小于数组长度来确定是否可以继续移动到下一个元素。 实现`IEnumerable`接口的目的是让我们的类能够被foreach循环使用。通过实现`GetEnumerator()`方法(虽然在提供的代码中没有显示,但这是必需的),我们可以提供一个迭代器实例,使外部代码能够遍历集合。`GetEnumerator()`通常会返回当前类的实例,因为它已经实现了`IEnumerator`接口。 C#的`.NET Framework`是开发应用程序的基础,它提供了丰富的类库、组件和服务,使得开发者可以构建各种类型的应用,包括桌面应用、Web应用以及分布式系统。`.NET Framework`的核心是公共语言运行时(Common Language Runtime, CLR),它负责代码的管理和执行,包括垃圾回收、类型安全和异常处理。编写的C#代码会被编译成中间语言(MSIL),然后在运行时通过即时编译(JIT)转换为机器码。通用类型系统(CTS)确保所有.NET语言之间的一致性和互操作性。 了解`.NET Framework`的命名空间至关重要,因为它们组织了类库中的类型。例如,`System.Collections`命名空间包含了各种集合类型的定义,如ArrayList和LinkedList。在C#程序中,我们会经常导入这些命名空间,以便使用其中的类和方法。 C#语言的设计目标是结合C++的效率和C#的易用性,提供面向对象的编程体验,并且与`.NET Framework`紧密集成。它支持多种编程范式,包括面向对象、泛型、委托和事件等,使开发者能够高效地构建复杂的软件系统。通过C#,开发者可以利用`.NET`平台的强大功能,如Windows服务、WPF、ASP.NET等,同时保持与现有系统的兼容性和可扩展性。 这个示例展示了如何在C#中自定义一个集合并实现枚举,这对于初学者来说是一个很好的实践项目,可以帮助他们更好地理解面向对象编程和.NET Framework的基本概念。