yield return的理解
生活随笔
收集整理的這篇文章主要介紹了
yield return的理解
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
一直在實(shí)際開發(fā)中都有用到y(tǒng)ield return,但也一直只停留在“用”的層面上,可謂一知半解。今天下班回來自己查證思考了半天,本著自己的原則一切從簡(jiǎn)提煉了一下幾點(diǎn)(正確與否有待進(jìn)一步學(xué)習(xí)):
- IEnumerable是對(duì)IEnumerator的封裝,以支持foreach語法糖。
- IEnumerable<T>和IEnumerator<T>分別繼承自IEnumerable和IEnumerator以提供強(qiáng)類型支持(即狀態(tài)機(jī)中的“現(xiàn)態(tài)”是強(qiáng)類型)。
- yield return是編譯器對(duì)IEnumerator和IEnumerable實(shí)現(xiàn)的語法糖。
- yield return 表現(xiàn)是實(shí)現(xiàn)IEnumerator的MoveNext方法,本質(zhì)是實(shí)現(xiàn)一個(gè)狀態(tài)機(jī)。
- yield return能暫時(shí)將控制權(quán)交給外部,我比作“程序上奇點(diǎn)”,讓你實(shí)現(xiàn)穿越。能達(dá)到目的:延遲計(jì)算、異步流。
……?
轉(zhuǎn)載于:https://www.cnblogs.com/zhanjindong/archive/2013/03/21/2974579.html
總結(jié)
以上是生活随笔為你收集整理的yield return的理解的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: tftp 在线更新 cisco swit
- 下一篇: 惹恼程序员的十件事