真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

如何在php和C#中實現(xiàn)yield迭代器-創(chuàng)新互聯(lián)

這篇文章給大家介紹如何在php和C#中實現(xiàn)yield迭代器,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

創(chuàng)新互聯(lián)建站是一家集網(wǎng)站建設,柯城企業(yè)網(wǎng)站建設,柯城品牌網(wǎng)站建設,網(wǎng)站定制,柯城網(wǎng)站建設報價,網(wǎng)絡營銷,網(wǎng)絡優(yōu)化,柯城網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學習、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。

yield關鍵字是用來方便實現(xiàn)迭代器的,免去了手工寫迭代器的繁瑣。迭代器常被用來實現(xiàn)協(xié)程,所以大部分的協(xié)程中都有yield關鍵字,可以參看unity3D的協(xié)程。


C#版本:

函數(shù)的返回類型必須為 IEnumerable、IEnumerable、IEnumerator 或 IEnumerator

IEnumerable表示一個類可以迭代,也就是可以用foreach遍歷,IEnumerator是真正的迭代器實現(xiàn),IEnumerable和IEnumerator一個是使用迭代器的接口,一個是實現(xiàn)迭代器的接口。

C#是怎么用yield實現(xiàn)迭代器的呢?其實是編譯器根據(jù)yield關鍵字生成了內部類,反編譯一下就可以看到。

using System.Collections;
class Program
{
   //返回IEnumerable接口,其實返回了編譯器生成的內部類
  public static IEnumerable fib(int n)
  {
    int cur = 1;
    int prev = 0;
    for (int i = 0; i < n; i++)
    {
      yield return cur;
      int temp = cur;
      cur = prev + cur;
      prev = temp;
    }
  }
  static void Main()
  {
    // Display powers of 2 up to the exponent 8:
    foreach (int i in fib(9))
    {
      Console.Write("{0} ", i);
    }
  }
}
// prints: 1 1 2 3 5 8 13 21 34

php版本:

函數(shù)返回類Generator,而類Generator實現(xiàn)了迭代器接口Iterator。

php有什么用

php是一個嵌套的縮寫名稱,是英文超級文本預處理語言,它的語法混合了C、Java、Perl以及php自創(chuàng)新的語法,主要用來做網(wǎng)站開發(fā),許多小型網(wǎng)站都用php開發(fā),因為php是開源的,從而使得php經(jīng)久不衰。

關于如何在php和C#中實現(xiàn)yield迭代器就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。


當前標題:如何在php和C#中實現(xiàn)yield迭代器-創(chuàng)新互聯(lián)
轉載注明:http://weahome.cn/article/dcjjjs.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部