VS 2012 C# 5.0 规范:迭代器
来源:互联网 发布:网络备份服务器 编辑:程序博客网 时间:2024/06/05 19:29
只要相应函数成员的返回类型是枚举器接口 enumerator 或可枚举接口 enumerable 之一,迭代器块就可用作该函数成员的函数体。如下“音乐标题”类所示,有三个函数,有返回 IEnumerator 的,还有返回 IEnumerable 的,其中,返回 Reverse 函数可以反序迭代一个集合,而 Subset 函数可以迭代一个集合的子集:
public class MusicTitles
{
string[] names = { "Tubular Bells", "Hergest Ridge", "Ommadawn", "Platinum" };
public IEnumerator GetEnumerator()
{
for (int i = 0; i < 4; i++)
{
yield return names[i];
}
}
public IEnumerable Reverse()
{
for (int i = 3; i >= 0; i--)
{
yield return names[i];
}
}
public IEnumerable Subset(int index, int length)
{
for (int i = index; i < index + length; i++)
{
yield return names[i];
}
}
}
可以用如下方式迭代:
foreach (string title in titles)
{
Console.WriteLine(title);
}
foreach (string title in titles.Reverse())
{
Console.WriteLine(title);
}
foreach (string title in titles.Subset(2, 2))
- VS 2012 C# 5.0 规范:迭代器
- C# VS C 解惑 代码规范
- VS 2012 C#快捷键
- VS控件命名规范
- VS 控件命名规范
- vs.net命名规范
- VS 控件命名规范
- C#规范
- c# 规范
- 在找C#语言规范吗?只要你装了VS,你就能找到
- C#2.0语言规范(四)迭代器
- C#2.0语言规范(四)迭代器
- VS.NET2003(c#)命名规范
- VS.NET2003(c#)命名规范
- VS.NET 2003 命名规范
- VS.NET 控件命名规范
- VS.NET 控件命名规范
- VS.NET 控件命名规范
- iOS开发工具-网络封包分析工具Charles
- C语言函数fread() , fwrite() ,fseek()用法分析
- 宋丹丹那英现身澳门赌场,你还等什么
- C++ 多线程调试方法
- 黑马程序员-------java面向对象部分
- VS 2012 C# 5.0 规范:迭代器
- UVA12096 The SetStack Computer(栈的应用)
- ionic项目之图片的选择与上传
- 好记性不如烂笔头14-使用log4jdbc显示完整SQL语句和执行时间
- 十天学Linux内核之第一天---内核探索工具类
- 笔记:浅谈java虚拟机(三)
- Linux学习之CentOS(二十五)--Linux磁盘管理:LVM逻辑卷基本概念及LVM的工作原理
- 关于COM服务之加载顺序,此时你可能出现程序卡死,假死等现象,因为com服务可能加载了一半,导致其他需要com的服务假死
- Win7系统下利用U盘安装Ubuntu_12.04实现双系统教程