亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C# > 正文

C#迭代器模式(Iterator Pattern)實例教程

2020-01-24 02:25:29
字體:
來源:轉載
供稿:網友

本文以實例形式簡單簡述了C#迭代器模式的實現方法,分享給大家供大家參考。具體方法如下:

一般來說,迭代器模式的需求來自:需要對一些集合進行迭代,而迭代的方式可能有很多種。

說到迭代,動作大致包括設置第一個位置,獲取下一個位置元素,判斷是否迭代結束,獲取當前位置元素,大致就這么些。把這些迭代動作封裝到一個接口中。

public interface IIterator{    void First();    string Next();    bool IsDone();    string Current();}

在現實場景中,迭代的方式可能有很多種,先實現一種迭代方式,實現IIterator接口。

public class IWannaIterate : IIterator{    private List<string> _list;    private int position;    public IWannaIterate(List<string> list)    {      Console.WriteLine("我要感謝IIterator,有了它我才可以迭代");      _list = list;      position = 0;    }    public void First()    {      position = 0;    }    public string Next()    {      return _list[position++];    }    public bool IsDone()    {      return position >= _list.Count;    }    public string Current()    {      return _list[position];    }}

以上,迭代器IWannaIterate類內部維護這一個集合,而這個集合是通過構造函數賦值的,否則的話,迭代器就沒活干了。 

好了,迭代器,迭代的具體方式有了,迭代器給誰用呢?

只要一個類維護著集合,就可能用到以上實現IIterator接口的某種具體迭代器。所有需要迭代器的類都有一個共同的動作,就是創建一個迭代器。先把創建迭代器的動作抽象成接口。

public interface IManagement{    IIterator CreateIterator();}

假設有一個管理用戶集合的類,使用以上的IWannaIterate迭代器。

public class MyUserManagement : IManagement{    private List<string> _users;    public MyUserManagement()    {      _users = new List<string>();      _users.Add("hello");      _users.Add("world");      _users.Add("nice");    }    public IIterator CreateIterator()    {      return new IWannaIterate(_users);    }}

假設有一個管理Book集合的類,也使用以上的IWannaIterate迭代器。

public class MyBookManagement : IManagement{    private List<string> _books;    public MyBookManagement()    {      _books = new List<string>();      _books.Add("美麗世界");      _books.Add("你好嗎");    }    public IIterator CreateIterator()    {      return new IWannaIterate(_books);    }}

客戶端讓MyUserManagement和MyBookManagement創建各自的迭代器,然后使用迭代器把集合的所有元素打印出來。

class Program{    static void Main(string[] args)    {      IManagement magageA = new MyUserManagement();      IManagement manageB = new MyBookManagement();      IIterator iteratorA = magageA.CreateIterator();      IIterator iteratorB = manageB.CreateIterator();      Console.WriteLine("打印出的user列表");      PrintList(iteratorA);      Console.WriteLine();      Console.WriteLine("打印出book列表");      PrintList(iteratorB);      Console.ReadKey();    }    private static void PrintList(IIterator iterator)    {      while (!iterator.IsDone())      {        Console.WriteLine(iterator.Next());      }    }}

運行結果如下圖所示:

希望本文所述對大家的C#程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
成人网欧美在线视频| 精品久久香蕉国产线看观看gif| 亚洲三级 欧美三级| 91网站在线免费观看| 日韩欧美aⅴ综合网站发布| 91亚洲国产成人久久精品网站| 亚洲国产日韩欧美在线图片| 欧美精品videosex牲欧美| 日韩乱码在线视频| 青青青国产精品一区二区| 国产精品入口夜色视频大尺度| 深夜福利国产精品| 亚洲欧美国产日韩中文字幕| 国产精品久久久久秋霞鲁丝| 亚洲综合色激情五月| 欧美国产日韩一区二区在线观看| 性欧美在线看片a免费观看| 日本精品免费一区二区三区| 日韩av在线一区| 九九热这里只有精品免费看| 国模吧一区二区| 久久久国产精品一区| 精品高清美女精品国产区| 秋霞成人午夜鲁丝一区二区三区| 色诱女教师一区二区三区| xxx欧美精品| 国产欧美精品一区二区三区介绍| 91手机视频在线观看| 欧美亚洲成人xxx| 国产精品久久久久久久久久免费| 国产精品自产拍在线观看| 国产精品狠色婷| 欧美成人激情图片网| 国产精品成人一区| 国产精品亚洲视频在线观看| 日韩大胆人体377p| 欧美多人乱p欧美4p久久| 中文字幕日韩av综合精品| 国产精品美女呻吟| 久久艹在线视频| 91午夜在线播放| 国产精品视频一区国模私拍| 国产欧美日韩视频| 久久精品精品电影网| 久久精品视频一| 久久精品国产精品| 国产精品久久久久久av福利| 日韩国产中文字幕| 欧美专区在线播放| 亚洲国产精品久久久久久| 欧美精品在线视频观看| 久久露脸国产精品| 中文字幕亚洲一区在线观看| 国产精品久久久久久久7电影| 日韩成人网免费视频| 欧美富婆性猛交| 欧美亚洲成人xxx| 精品伊人久久97| 午夜精品一区二区三区av| 一区二区三区视频观看| 久久偷看各类女兵18女厕嘘嘘| 欧美午夜激情在线| 国产欧美va欧美va香蕉在| 成人h视频在线| 日韩午夜在线视频| 精品夜色国产国偷在线| 亚洲人永久免费| 精品国产999| www日韩中文字幕在线看| 欧美日韩精品在线视频| 97国产在线视频| 亚洲综合精品伊人久久| 黑人与娇小精品av专区| 国产成人精品视频在线观看| 青青草成人在线| 国产精品久久久久久久久久三级| 97精品视频在线观看| 欧美噜噜久久久xxx| 久久久久久久久亚洲| 亚洲大胆人体av| zzijzzij亚洲日本成熟少妇| 日韩欧美一区二区三区| 日韩中文字幕在线免费观看| 亚洲精品720p| 中文字幕欧美日韩在线| 一本色道久久88综合日韩精品| 国产一区二区三区直播精品电影| 91香蕉国产在线观看| 亚洲精品91美女久久久久久久| 国产成人高清激情视频在线观看| 久久精品视频导航| 欧美日韩中文在线观看| 97超级碰在线看视频免费在线看| 亚洲一区二区三区毛片| 亚洲va国产va天堂va久久| 91九色在线视频| 亚洲片在线观看| 久久成人免费视频| 日韩美女av在线| 日韩av手机在线观看| 精品一区二区三区四区| 亚洲欧洲在线观看| 亚洲欧美日韩爽爽影院| 亚洲国产高潮在线观看| 欧美成在线视频| 91精品在线一区| 久久久国产精品一区| 国产日产欧美精品| 亚洲视频在线观看免费| 国产精品亚洲网站| 亚洲国产成人一区| 成人黄色免费看| 欧美一级bbbbb性bbbb喷潮片| 国产精品免费视频久久久| 久久影院在线观看| 久久免费精品日本久久中文字幕| 国产精品美乳一区二区免费| 在线播放日韩精品| 国产又爽又黄的激情精品视频| 亚洲国产成人一区| 中文字幕亚洲无线码在线一区| 成人免费网站在线看| 久热国产精品视频| 亚洲欧美一区二区三区在线| 91在线直播亚洲| 欧美激情中文字幕乱码免费| 永久免费毛片在线播放不卡| 色噜噜国产精品视频一区二区| 国产亚洲aⅴaaaaaa毛片| 这里只有精品在线观看| 国产丝袜精品第一页| 亚洲成人免费在线视频| 日韩美女中文字幕| 色中色综合影院手机版在线观看| 国内外成人免费激情在线视频网站| 91中文字幕在线| 搡老女人一区二区三区视频tv| 精品国产一区二区三区久久| 欧美一级黑人aaaaaaa做受| 精品精品国产国产自在线| 国产99久久久欧美黑人| 亚洲va久久久噜噜噜久久天堂| 91精品久久久久久久久久久| 欧美亚洲成人精品| 欧美床上激情在线观看| 国产精品亚洲网站| 91精品久久久久久久久久入口| 国产成人精品在线观看| 91色视频在线观看| 欧美日韩成人网| 国产一区二区三区三区在线观看| 国产日韩综合一区二区性色av| 亚洲va久久久噜噜噜| 亚洲激情视频网站| 国产午夜精品一区理论片飘花| 日韩影视在线观看| 色七七影院综合| 久久久久久久久久久久久久久久久久av| 美女扒开尿口让男人操亚洲视频网站| 欧美性猛交xxxx| 国产一区红桃视频| 欧美在线影院在线视频| 日韩精品免费在线视频观看| 黄网动漫久久久|