博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
return 与 yield return 的区别
阅读量:6447 次
发布时间:2019-06-23

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

昨晚虽睡得不怎么样,今天居然有点儿“顿悟”的感觉。

yield似乎在枚举器里看过,但没什么印象了,各种搜索一通,很多是转的,还长篇大论的很多文字,不知怎么有不想看下去的感觉,喝了杯咖啡,抬头看着屏幕,突然觉得我也顿悟了:

不同点总结如下:

  1) 返回值类型不同:

      a)   return 返回其后面表达式的值可以是任何类型,暂称其为T类型;

      b)   而yield return 返回IEnumerable<T>类型,总是个可枚举的对象,yield return 后面的表达式为T类型。

        那么如何构成可枚举对象呢?就看yield return 语句执行多少次,执行多少次最终的可枚举对象就有多少个元素,怎么执行多少次我想不用我说了,比如循环,甚至简单的复制几遍。要说明的是每个yield return 后的表达式应该是相同或相兼容的类型,都为T类型。

  2)程序控制流程不同:

      a)  return 语句使方法返回,后面再有语句都不执行了。

                 b)  yield return 则不会使方法返回,继续执行后面的语句,只是计算记录最终返回的可枚举对象的一个元素值。

以上,是个人观点和总结,如有疏漏错误之处,欢迎批评指正。

转载于:https://www.cnblogs.com/liuming8080/p/3718643.html

你可能感兴趣的文章
JAVA 与 PHP 的不同和相同
查看>>
建立Ftp站点
查看>>
NavigationController的使用
查看>>
多线程编程之Windows环境下创建新线程
查看>>
ASP.Net MVC的开发模式
查看>>
groupbox 下的datagridview的列标题字体修改混乱
查看>>
HDU-3092 Least common multiple---数论+分组背包
查看>>
CentOS 7使用systemctl如何补全服务名称
查看>>
Unity3D NGUI 给button按钮添加单间事件
查看>>
C# 使用各种API
查看>>
密码的校验.大小写字母,数字,特殊字符中的至少3种
查看>>
ios 不同sdk4.3 6.0版本号,关于方法的兼容性的通用方法
查看>>
Shell编程学习总结
查看>>
070、如何定制Calico 网络policy(2019-04-15 周一)
查看>>
构建之法阅读笔记02
查看>>
Webstorm常用快捷键备忘
查看>>
js滚动加载到底部
查看>>
关于mac远程链接window服务器以及实现共享文件
查看>>
Redis慢查询,redis-cli,redis-benchmark,info
查看>>
Virtualbox 虚拟机网络不通
查看>>