最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#中的yield關(guān)鍵字的使用方法介紹

 更新時間:2013年04月27日 10:59:40   作者:  
yield這個關(guān)鍵字是和迭代器掛鉤的,而且是與return一起以yield return的形式合用的,用來返回迭代器中的條目。
yield不能單獨放在try-catch塊中,如果try中有yield那么,這個try塊后面不許跟著finally塊;也不能出現(xiàn)在匿名方法中,所以,看起來yield似乎并不常用,但是也不是不用。我前面有一個關(guān)于迭代器的例子《C#中的迭代器基礎(chǔ)》中就用到了。可以參考一下那個例子,但是這里要再說的一點是我后來看到的,yield是跟return一起使用的,形式為yield return xxx,一般來說單獨的return在每個方法中只能存在一個。而yield則不同的是,可以出現(xiàn)連續(xù)多個。
迭代器,是一個連續(xù)的集合,出現(xiàn)多個yield return其實就是將這多個的yield return元素按照出現(xiàn)的順序存儲在迭代器的集合中而已。形如下面的形式:
復(fù)制代碼 代碼如下:

 public class CityCollection : IEnumerable<string>
  {
      string[] _Items = new string[] { "黑龍江", "吉林", "遼寧", "山東", "山西", "陜西", "河北", "河南", "湖南", "湖北", "四川", "廣西", "云南", "其他" };
      IEnumerator<string> IEnumerable<string>.GetEnumerator()
      {
          for (int i = 0; i < _Items.Length; i++)
          {
              yield return _Items[i];
              yield return string.Format("Index:{0}", i);
         }
     }
     IEnumerator IEnumerable.GetEnumerator()
     {
         for (int i = 0; i < _Items.Length; i++)
         {
             yield return _Items[i];
         }
     }
 }

而返回的迭代結(jié)果就是這樣的:
復(fù)制代碼 代碼如下:

  黑龍江
  Index:0
  吉林
  Index:1
  遼寧
  Index:2
  山東
  Index:3
  山西
 Index:4
 陜西
 Index:5
 河北
 Index:6
 河南
 Index:7
 湖南
 Index:8
 湖北
 Index:9
 四川
 Index:10
 廣西
 Index:11
 云南
 Index:12
 其他
 Index:13

每一條yield return都是迭代器中的一個元素。

相關(guān)文章

  • C#實現(xiàn)常見加密算法的示例代碼

    C#實現(xiàn)常見加密算法的示例代碼

    這篇文章主要為大家詳細介紹一下C#中一些常見加密算法(Base64編碼、凱撒密碼、Vigenere密碼、DES、AES)以及它們的實現(xiàn)代碼,感興趣的可以了解一下
    2022-07-07
  • Unity C#打包AssetBundle與場景詳解

    Unity C#打包AssetBundle與場景詳解

    這篇文章主要給大家介紹了關(guān)于Unity C#打包AssetBundle與場景的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-02-02
  • c#中WinForm使用OpencvSharp4實現(xiàn)簡易抓邊

    c#中WinForm使用OpencvSharp4實現(xiàn)簡易抓邊

    本文主要介紹了c#中WinForm使用OpencvSharp4實現(xiàn)簡易抓邊,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-05-05
  • C#漢字轉(zhuǎn)換拼音技術(shù)詳解(高性能)

    C#漢字轉(zhuǎn)換拼音技術(shù)詳解(高性能)

    通過網(wǎng)上漢字轉(zhuǎn)換成拼音的代碼,經(jīng)過本人優(yōu)化,性能將更加優(yōu)異
    2012-11-11
  • PropertyGrid自定義控件使用詳解

    PropertyGrid自定義控件使用詳解

    這篇文章主要為大家詳細介紹了PropertyGrid自定義控件的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • C#讀取Excel到DataTable的方法示例

    C#讀取Excel到DataTable的方法示例

    這篇文章主要介紹了C#讀取Excel到DataTable的方法示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-04-04
  • C#中的Hashtable?類使用詳解

    C#中的Hashtable?類使用詳解

    這篇文章主要介紹了C#中的Hashtable?類使用詳解,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-09-09
  • C#開發(fā)微信門戶及應(yīng)用(5) 用戶分組信息管理

    C#開發(fā)微信門戶及應(yīng)用(5) 用戶分組信息管理

    這篇文章主要為大家詳細介紹了C#開發(fā)微信門戶及應(yīng)用第五篇,用戶分組信息管理,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • C#反射內(nèi)存的處理分析

    C#反射內(nèi)存的處理分析

    這篇文章主要介紹了C#反射內(nèi)存的處理,較為詳細的分析了反射加載的內(nèi)存釋放問題,具有一定的參考借鑒價值,需要的朋友可以參考下
    2014-12-12
  • 基于C#實現(xiàn)宿舍管理系統(tǒng)

    基于C#實現(xiàn)宿舍管理系統(tǒng)

    這篇文章主要介紹了如何利用C#語言開發(fā)一個簡易的宿舍管理系統(tǒng),文中的實現(xiàn)步驟講解詳細,對我們學(xué)習(xí)C#有一定參考價值,感興趣的可以了解一下
    2022-06-06

最新評論

东乌| 桦南县| 上犹县| 阿克苏市| 白沙| 西青区| 武义县| 原阳县| 越西县| 铁力市| 靖安县| 平和县| 安远县| 修武县| 宿迁市| 太和县| 大余县| 高尔夫| 临颍县| 喀喇| 扶余县| 祁东县| 茌平县| 兴隆县| 陇南市| 苍山县| 霍城县| 越西县| 云阳县| 舒兰市| 贡山| 唐河县| 清新县| 左贡县| 盘锦市| 射阳县| 彭山县| 徐水县| 栾城县| 合川市| 赣州市|