麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > C# > 正文

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

2020-01-24 03:24:59
字體:
供稿:網(wǎng)友
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都是迭代器中的一個元素。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: av在线大全 | 羞羞网站| 精品国产一区二区三区久久久蜜 | 91成人免费看 | h视频在线观看免费 | 久久成年网 | 三级xxxx | 一级电影免费在线观看 | 午夜爽爽爽男女免费观看hd | 成人激情综合网 | 一区二区三区欧美在线 | 久久久久久久久久久国产精品 | 污污黄| 免费视频aaa| 免费在线观看毛片视频 | 精品一区二区三区欧美 | 亚洲福利在线观看视频 | 国产91精品一区二区麻豆亚洲 | 欧美顶级毛片在线播放小说 | 国产欧美精品一区二区三区四区 | 深夜免费视频 | 国产羞羞网站 | 精品久久久久久久久久久久久久久久久久久 | 黄在线观看在线播放720p | 久久久久国产一区二区三区不卡 | 午夜爱爱福利 | 毛片小网站 | 中文字幕在线观看免费视频 | 俄罗斯16一20sex牲色另类 | 哪里可以看免费的av | 91精品免费在线 | 久草欧美 | 日产精品久久久一区二区福利 | 91色爱| 羞羞视频免费视频欧美 | 中国hdxxxx护士爽在线观看 | 自拍亚洲伦理 | 91羞羞 | 日本在线视频免费观看 | 国产精品成人亚洲一区二区 | 久久久久久久黄色片 |