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

首頁 > 學院 > 開發設計 > 正文

探秘C#中的yield關鍵字

2019-11-17 02:52:57
字體:
來源:轉載
供稿:網友

探秘C#中的yield關鍵字

在"C#中,什么時候用yield return"中,我們了解到:使用yield return返回集合,不是一次性加載到內存中,而是客戶端每調用一次就返回一個集合元素,是一種"按需供給"。本篇來重溫yield return的用法,探秘yield背后的故事并自定義一個能達到yield return相同效果的類,最后體驗yield break的用法。

□ 回顧yield return的用法

以下代碼創建一個集合并遍歷集合。

   class PRogram
    {
        static Random r = new Random();
        static IEnumerable<int> GetList(int count)
        {
            List<int> list = new List<int>();
            for (int i = 0; i < count; i++)
            {
                list.Add(r.Next(10));
            }
            return list;
        }
        static void Main(string[] args)
        {
            foreach(int item in GetList(5))
                Console.WriteLine(item);
            Console.ReadKey();
        }
    }

使用yield return也能獲得同樣的結果。修改GetList方法為:

        static IEnumerable<int> GetList(int count)
        {
            for (int i = 0; i < count; i++)
            {
                yield return r.Next(10);
            }
        }
通過斷點調試發現:客戶端每顯示一個集合中的元素,都會到GetList方法去獲取集合元素。

□ 探密yield

使用yield return獲取集合,并遍歷。

    class Program
    {
        public static Random r = new Random();
        static IEnumerable<int> GetList(int count)
        {
            for (int i = 0; i < count; i++)
            {
                yield return r.Next(10);
            }

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 日韩黄网站 | 免费一级毛片网站 | 欧美一级特级 | 经典三级在线视频 | 免费观看黄视频 | 国产精品久久久久久久久久久天堂 | 久久久久久久一区二区 | 伊人久操视频 | 中文字幕在线观看网址 | 亚州精品在线视频 | 亚洲最大的成人网 | 国产自91精品一区二区 | 欧美亚州| 日韩视频高清 | 精品中文字幕久久久久四十五十骆 | 久久精品观看 | www.99tv | av免费在线观看免费 | 韩国一级免费视频 | 国产91亚洲精品一区二区三区 | 成人福利视频在 | 成人午夜视频在线观看 | 欧美成网站 | 欧美亚洲黄色片 | 久久人人爽人人爽人人片av高清 | 黄色片网站在线免费观看 | 看免费一级毛片 | 操操操操操 | 亚洲福利在线视频 | 日韩视频―中文字幕 | 毛片a级毛片免费播放100 | 中文字幕一二三区芒果 | 亚洲国产精品久久久久 | 激情夜色 | 日日鲁一鲁视频 | 中文日韩欧美 | 国产剧情v888av | 国产一区二区成人在线 | 黄色片在线免费播放 | 国产精品久久久久久久久久10秀 | 在线成人影视 |