国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

香港云服务器
服務(wù)器之家 - 編程語言 - C# - C#使用yield關(guān)鍵字構(gòu)建迭代器詳解

C#使用yield關(guān)鍵字構(gòu)建迭代器詳解

2022-01-24 13:42絳河 C#

這篇文章主要為大家詳細(xì)介紹了C#使用yield關(guān)鍵字構(gòu)建迭代器的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

以前,如果我們希望構(gòu)建支持foreach枚舉的自定義集合,只能實(shí)現(xiàn)IEnumerable接口(可能還有IEnumerator()),返回值還必須是IEnumerator類型,除此之外還可以通過迭代器來使用構(gòu)建foreach循環(huán)的類型,詳細(xì)見下鏈接。

 代碼

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
public class Car
 {
   //內(nèi)部狀態(tài)數(shù)據(jù)
   public int CurentSpeed;
   public int MaxSpeed;
   public string name;
   //汽車能不能用
   private bool carIsdead;
   //類構(gòu)造函數(shù)
   public Car() { }
   public Car(string name, int currentspeed, int maxspeed = 100)
   {
     this.name = name;
     this.CurentSpeed = currentspeed;
     this.MaxSpeed = maxspeed;
   }
   //定義委托類型
   public delegate void CarEngineHandler(string msdForCar);
   //定義每個(gè)委托類型的成員變量
   private CarEngineHandler listOfhandlers;
   //向調(diào)用者添加注冊函數(shù)
   public void RegisterWithCarEngine(CarEngineHandler methodTocall)
   {
     if (listOfhandlers == null)
       listOfhandlers = methodTocall;
     else
       listOfhandlers += methodTocall;//支持多路廣播
   }
   //實(shí)現(xiàn)Accelerate()方法
   public void Accelerate(int delta)
   {
     if (carIsdead)
     {
       if (listOfhandlers != null)
       {
         listOfhandlers("sorry,this car is dead");
       }
     }
     else
     {
       CurentSpeed += delta;
       //不能超過最大速度
       if (5 == (MaxSpeed - CurentSpeed) && listOfhandlers != null)
       {
         listOfhandlers("this speed is nearly to the maxspeed");
       }
       if (CurentSpeed > MaxSpeed)
       {
         carIsdead = true;
       }
       else
         Console.WriteLine("current speed:{0}", CurentSpeed);
     }
   }
 }
 public class Garage : IEnumerable
 {
   private Car[] garage = new Car[3];
   public Garage()
   {
     garage[0] = new Car("a", 10);
     garage[1] = new Car("b", 13);
     garage[2] = new Car("c", 14);
   }
   public Enumerator GetEnumerator()
   {
     //返回?cái)?shù)組對象的IEnumerator
     //return garage.GetEnumerator();
     //用yield關(guān)鍵字構(gòu)建迭代器方法
     foreach (Car c in garage)
     {
       //當(dāng)yield return語句執(zhí)行后,當(dāng)前位會被
       //保存下來,下一次執(zhí)行會從當(dāng)前位開始
       yield return c;
     }
   }
 }
 class Program
 {
   static void Main(string[] args)
   {
     Garage g = new Garage();
     foreach (Car c in g)
     {
       Console.WriteLine("car name:{0}", c.name);
     }
   }
 }

參考:C#中可枚舉類型詳解

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持服務(wù)器之家。

原文鏈接:http://www.cnblogs.com/janghe/p/7454867.html

延伸 · 閱讀

精彩推薦
792
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 一区二区在线电影 | 国产精品久久久久久久久久久久 | 三级av在线 | 午夜视频在线 | 亚洲精品一区二区三区99 | 久久久久国产精品免费免费搜索 | 欧美做爰一区二区三区 | 亚洲国产精品久久久久久久 | 99精品热视频 | 日韩精品 | 久久一区二 | 精品国产久 | 久久国内精品 | 日韩一区二区三区在线观看 | 精品国产一区二区在线 | 五月天一区二区 | 黄色在线免费观看 | 欧美在线国产 | 日韩视频免费 | 国产精品久久久久久久一区探花 | 欧美成人精品一区二区男人看 | 国产日韩久久 | 中文字幕一区二区三区乱码在线 | 亚洲国产精品久久久久久久久久久 | 欧美精品成人一区二区三区四区 | 久久天堂电影 | 91精品国产乱码久久久久久 | 欧美韩日 | 精品视频国产 | 俺去操| 91精品国产综合久久香蕉922 | 日韩精品一区二区三区视频播放 | 羞羞网站在线观看 | 日韩精品一区二区三区四区五区 | 中文字幕www. | 夜夜春精品视频高清69式 | 精品一区二区av | a视频在线观看 | 一级毛片在线播放 | 风间由美一区二区 | 97高清国语自产拍 |