枚举
来源:互联网 发布:360管家mac版 编辑:程序博客网 时间:2024/06/02 02:06
- IEnumerable 接口
公开枚举数,该枚举数支持在非泛型集合上进行简单迭代。
下面的代码示例演示如何实现自定义集合的 IEnumerable 和 IEnumerator 接口。在此示例中,没有显式调用这些接口的成员,但实现了它们,以便支持使用 foreach循环访问该集合 (摘自MSDN)
- yield 关键字
yield 关键字向编译器指示它所在的方法或属性是迭代器块。 编译器生成一个类来实现迭代器块中表示的行为。 在迭代器块中,yield 关键字与 return 关键字结合使用,向枚举器对象提供值。 这是一个返回值,例如,在 foreach 语句的每一次循环中返回的值。 yield 关键字也可与 break 结合使用,表示迭代结束。下面的示例演示两种形式的 yield 语句。
yield 语句只能出现在 iterator 块中,这种块可作为方法、运算符或访问器的主体实现。 这类方法、运算符或访问器的体受以下约束的控制:
不允许不安全块。
方法、运算符或访问器的参数不能是 ref 或 out。
yield return 语句不能放在 try-catch 块中的任何位置。 该语句可放在后跟 finally 块的 try 块中。
yield break 语句可放在 try 块或 catch 块中,但不能放在 finally 块中。
yield 语句不能出现在匿名方法中。
在下面的示例中,迭代器块(这里是方法 Power(int number, int power))中使用了 yield 语句。 当调用 Power 方法时,它返回一个包含数字幂的可枚举对象。 注意 Power 方法的返回类型是 System.Collections.IEnumerable(一种迭代器接口类型)(引自MSDN)
之前的例子也可以用yield关键字改写成下面的形式:
- 枚举
- 枚举
- 枚举
- 枚举
- 枚举
- 枚举
- 枚举
- 枚举
- 枚举
- 枚举
- 枚举
- 枚举
- 枚举
- 枚举
- 枚举
- 枚举
- 枚举
- 枚举
- 回调函数的常见实现方式及速度比较
- Ethereal过滤规则
- SQL 7 计算字段 - 3. 数据处理函数
- 【zz】编译ffmpeg的output-example.c和api-example.c 错误
- 在大型Flex项目中如何构建高效的QTP测试框架
- 枚举
- 把绝对时间转换成当前时间
- zmud之自动解谜:不用数据库实现自动解谜的原理。
- 网络编程常见问题
- 使用ActionScript 3的绘图命令
- Setspn.exe
- zmud之汉字转换为数字
- 利用Jmeter进行压力测试的步骤
- setsockopt使用