`
lovnet
  • 浏览: 6878469 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
文章分类
社区版块
存档分类
最新评论

.Net 2.0 新功能:迭代器(Iterators)

阅读更多

什么是迭代器?

迭代器是方法、get访问器或运算符,它能使您能够在类或者结构中支持foreach迭代,而不必实现整个IEnumerable接口。

例子:

publicclassYieldTest

...{

publicstaticIEnumertablePower(intnumber,intexponent)

...{

intcounter=0;

intresult=1;

while(counter++<exponent)

...{

result
=result*number

yieldreturnresult

}


}


}


<!--[if !supportLists]-->1. <!--[endif]-->迭代器是可以返回相同类型的值的有序序列的一段代码

<!--[if !supportLists]-->2. <!--[endif]-->迭代器可用作方法、运算符或get访问器的代码体

<!--[if !supportLists]-->3. <!--[endif]-->迭代器代码使用yield return语句一次返回每个元素

<!--[if !supportLists]-->4. <!--[endif]-->yield break将终止迭代

<!--[if !supportLists]-->5. <!--[endif]-->可以在类中实现做个迭代器。每个迭代器都必须像任何类成员一样有唯一的名称,并且可以在foreach语句中可调用

<!--[if !supportLists]-->6. <!--[endif]-->迭代器的返回类型必须为IEnumerableIEnumberatorIEnumerbale<T>或者IEnumberator<T>

foreach(int i in YieldTest. Power)

{

}

分享到:
评论

相关推荐

    Professional C# 2005 and the.NET 2.0 Platform

    - **迭代器(Iterators)**:简化集合操作。 - **局部变量声明(Local Variable Declaration)**:允许在方法内部声明变量时初始化。 - **匿名方法(Anonymous Methods)**:提供一种简洁的方法来定义只在单个位置...

    ASP.NET 2.0 & C# 2.0学习资料

    2. **迭代器(Iterators)**:通过`yield return`关键字实现,简化了生成集合序列的过程,例如在实现枚举器时。 3. **自动属性(Auto-Implemented Properties)**:简化了类属性的声明,减少了冗余代码。 4. **可...

    ASP.NET2.0 宾馆酒店管理系统

    3. **迭代器(Iterators)**:通过yield return语句,可以自定义迭代行为,常用于数据遍历。 4. **属性属性(Property Attributes)**:可以将元数据附加到类的属性,如验证规则,进一步强化了数据绑定。 5. **泛型...

    c#2.0 宝典 源文件16-20

    10. ASP.NET 2.0改进:虽然不是C#语言的特性,但C# 2.0与ASP.NET 2.0紧密关联,后者引入了母版页、主题、皮肤、控件开发等新功能,极大地提升了Web应用程序的开发效率。 以上这些特性在《C# 2.0 宝典》的源文件16到...

    C# 2.0.ppt

    1. 迭代器(Iterators):迭代器允许开发者创建自定义的迭代过程,如在集合或自定义数据结构中逐个访问元素。通过`yield return`语句,可以轻松地实现一个迭代器。 2. 空属类型(Nullable Type):在C# 2.0中,引入...

    Visual C# 2005编程技巧大全.part6

    5. 迭代器(Iterators):通过yield return关键字实现迭代器,使自定义数据结构可以被foreach语句遍历,这对于数据访问和处理非常有用。 6. 静态类和静态构造函数:理解静态类和静态构造函数的生命周期,以及何时...

    C#语言规范2.0(C# 2.0中的重点难点)

    C# 2.0 是在 C# 1.0 和 1.1 的基础上进行的重大更新,引入了多个重要的新特性,如泛型(Generics)、匿名方法(Anonymous Methods)和迭代器(Iterators)等。这些新特性极大地提高了 C# 语言的灵活性和性能,同时也...

    TypeScript Handbook 中文版

    - **Iterators 和 Generators**:解释迭代器 (`iterator`) 和生成器 (`generator`) 的概念及使用方法。 - **模块**:探讨如何使用模块化的方式来组织代码。 - **命名空间**:解释命名空间 (`namespace`) 的作用和...

    C#历史版本

    - **C# 2.0**:引入了泛型(Generics)、迭代器(Iterators)等重要特性。 - **C# 3.0**:加入了自动实现属性(Auto-implemented Properties)、匿名类型(Anonymous Types)等,大大提高了开发效率。 - **C# 4.0**...

    Programming C#-Fourth Edition

    #### C#迭代器(Iterators) C#迭代器提供了一种更简洁、更高效的方式来遍历集合或数组中的元素。在C#中,可以使用`yield return`语句创建迭代器方法,该方法允许在每次调用时返回集合中的下一个元素。这种方法比...

    c#是什么呢?初学者看看吧

    迭代器(Iterators) - **定义**:迭代器是一种特殊的枚举器,允许编写可被 foreach 循环使用的类型。 - **作用**: - 简化实现:开发人员可以直接在类中定义迭代逻辑,而不需要额外的枚举器类。 - 提高代码...

    C#3.0的高级课件^^^^^^^^^^

    6. **迭代器(Iterators)**:通过`yield return`关键字,可以在类中实现迭代器,这使得创建自定义的集合和枚举器变得更加容易,例如生成斐波那契数列或遍历二叉树。 7. **泛型协变和逆变(Generic Covariance and ...

    c#3.0锐利体验系列课程1 概括 喜欢就看看

    10. **迭代器(Iterators)**:通过`yield return`关键字实现,允许自定义迭代行为,例如生成无限序列、延迟执行或按需生成结果。 这些知识点是"C# 3.0锐利体验系列课程"的重点,学习并熟练掌握它们,将使你能够...

    typescript

    TypeScript 支持 ES6 的迭代器和生成器,用于处理序列数据。 #### 模块和命名空间 模块和命名空间用于组织和管理代码,避免全局作用域的污染。 #### 模块解析 TypeScript 具有模块解析机制,用于查找和导入模块...

    typescript-handbook

    - **Iterators 和 Generators**:TypeScript 支持 ES6 的迭代器(Iterators)和生成器(Generators)。这些特性允许开发者轻松地处理序列数据和异步操作。 - **模块**:模块(Modules)是 TypeScript 的一个重要...

Global site tag (gtag.js) - Google Analytics