yield return的理解

一直在实际开发中都有用到yield return,但也一直只停留在“用”的层面上,可谓一知半解。今天下班回来自己查证思考了半天,本着自己的原则一切从简提炼了一下几点(正确与否有待进一步学习):

  • IEnumerable是对IEnumerator的封装,以支持foreach语法糖。
  • IEnumerable<T>和IEnumerator<T>分别继承自IEnumerable和IEnumerator以提供强类型支持(即状态机中的“现态”是强类型)。
  • yield return是编译器对IEnumerator和IEnumerable实现的语法糖。
  • yield return 表现是实现IEnumerator的MoveNext方法,本质是实现一个状态机。
  • yield return能暂时将控制权交给外部,我比作“程序上奇点”,让你实现穿越。能达到目的:延迟计算、异步流。

…… 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值