a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 編程 > C# > 正文

C#中的yield關鍵字的使用方法介紹

2020-01-24 03:24:59
字體:
來源:轉載
供稿:網友
yield不能單獨放在try-catch塊中,如果try中有yield那么,這個try塊后面不許跟著finally塊;也不能出現在匿名方法中,所以,看起來yield似乎并不常用,但是也不是不用。我前面有一個關于迭代器的例子《C#中的迭代器基礎》中就用到了。可以參考一下那個例子,但是這里要再說的一點是我后來看到的,yield是跟return一起使用的,形式為yield return xxx,一般來說單獨的return在每個方法中只能存在一個。而yield則不同的是,可以出現連續多個。
迭代器,是一個連續的集合,出現多個yield return其實就是將這多個的yield return元素按照出現的順序存儲在迭代器的集合中而已。形如下面的形式:
復制代碼 代碼如下:

 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];
         }
     }
 }

而返回的迭代結果就是這樣的:
復制代碼 代碼如下:

  黑龍江
  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都是迭代器中的一個元素。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 亚洲视频综合 | 欧美一级艳片视频免费观看 | 草逼视频免费观看 | 亚洲综合色视频在线观看 | 欧美三级 欧美一级 | 国产乱码一二三区精品 | 丁香在线 | 毛片网子 | 久久久久国产精品一区二区三区 | 凹凸日日摸日日碰夜夜爽孕妇 | 欧美一级全黄 | 91久久久久久久久久久久久久 | 黄色毛片视频在线观看 | 特级黄色毛片在放 | 精品国产一区二区三区久久久蜜臀 | 亚洲久久 | 亚洲欧美综合 | а天堂中文最新一区二区三区 | 情趣视频在线免费观看 | 欧美日韩一区在线 | 亚洲日本精品一区二区三区 | 日本 国产 欧美 | 色婷婷综合国产精品一区 | 久久亚洲一区二区三 | 婷婷国产成人精品视频 | 欧美国产日韩一区 | 欧美.com| 男女视频网站 | 成人免费一区二区三区视频网站 | 免费看国产一级特黄aaaa大片 | 国产拍拍拍拍拍拍拍拍拍拍拍拍拍 | 国产精品污www在线观看 | av网址在线播放 | 成人一区二区三区久久精品嫩草 | 中文字幕综合在线 | 不用播放器的免费av | 亚洲午夜精品在线观看 | 欧美精品一区二区三区蜜桃视频 | 国偷自拍 | 婷婷av在线| 污片在线免费看 |