博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
yield return关键字怎么使用?
阅读量:6488 次
发布时间:2019-06-24

本文共 1090 字,大约阅读时间需要 3 分钟。

在迭代器块中用于向枚举数对象提供值或发出迭代结束信号。它的形式为下列之一:   复制代码 yield return 
; yield break; 备注 计算表达式并以枚举数对象值的形式返回;expression 必须可以隐式转换为迭代器的 yield 类型。 yield 语句只能出现在 iterator 块中,该块可用作方法、运算符或访问器的体。这类方法、运算符或访问器的体受以下约束的控制: 不允许不安全块。 方法、运算符或访问器的参数不能是 ref 或 out。 yield 语句不能出现在匿名方法中。有关更多信息,请参见匿名方法(C# 编程指南)。 当和 expression 一起使用时,yield return 语句不能出现在 catch 块中或含有一个或多个 catch 子句的 try 块中。有关更多信息,请参见异常处理语句(C# 参考)。 示例 在下面的示例中,迭代器块(这里是方法 Power(int number, int power))中使用了 yield 语句。当调用 Power 方法时,它返回一个包含数字幂的可枚举对象。注意 Power 方法的返回类型是 IEnumerable(一种迭代器接口类型)。 复制代码 // yield-example.cs using System; using System.Collections; public class List {
public static IEnumerable Power(int number, int exponent) {
int counter = 0; int result = 1; while (counter++ < exponent) {
result = result * number; yield return result; } } static void Main() {
// Display powers of 2 up to the exponent 8: foreach (int i in Power(2, 8)) {
Console.Write("{0} ", i); } } } 复制代码 2 4 8 16 32 64 128 256

转载地址:http://aiauo.baihongyu.com/

你可能感兴趣的文章
mysql ODBC 在64位下提示找不到odbc驱动问题
查看>>
MySQL的事务处理及隔离级别
查看>>
一个测试SQL2005数据库连接JSP档
查看>>
JspContext对象与PageContext对象
查看>>
java中间==、equals和hashCode差额
查看>>
TextureView+SurfaceTexture+OpenGL ES来播放视频(一)
查看>>
才一年,H5的发展就成这样了......
查看>>
McBsp接口使用和概念
查看>>
关于WEB Service&WCF&WebApi实现身份验证之WCF篇(1)
查看>>
类是公共,它应该被命名为.java文件声明
查看>>
介绍一个超好用的HICHARTS扩展插件
查看>>
中断相关一【转】
查看>>
MonkeyImage API 实践全记录
查看>>
LeetCode - Subsets
查看>>
可选链
查看>>
Docker CPU 资源限制——CPU分片功能测试
查看>>
FP-Growth算法之频繁项集的挖掘(python)
查看>>
基于Hibernate注解的解读
查看>>
ELK——安装 logstash 2.2.0、elasticsearch 2.2.0 和 Kibana 3.0
查看>>
Java内部DNS查询实现和参数设置
查看>>