码迷,mamicode.com
首页 > 其他好文 > 详细

return 与 yield return 的区别

时间:2014-05-10 00:15:44      阅读:243      评论:0      收藏:0      [点我收藏+]

标签:a      表达式      简单   return   

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

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

不同点总结如下:

  1) 返回值类型不同:

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

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

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

  2)程序控制流程不同:

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

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

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

return 与 yield return 的区别,布布扣,bubuko.com

return 与 yield return 的区别

标签:a      表达式      简单   return   

原文地址:http://www.cnblogs.com/liuming8080/p/3718643.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!