C#中的迭代器


迭代器對集合進行自定義迭代。它使用yield return語句,一次返回一個元素。迭代器記住當前位置,在下次迭代時返回下一個元素。

以下是一個示例:

示例

 線上演示

using System;
using System.Collections.Generic;
using System.Linq;

namespace Demo {
   class Program {
      public static IEnumerable<string> display() {
         int[] arr = new int[] {99,45,76};

         foreach (var val in arr) {
            yield return val.ToString();
         }
      }

      public static void Main(string[] args) {
         IEnumerable<string> ele = display();
         foreach (var element in ele) {
            Console.WriteLine(element);
         }
      }
   }
}

輸出

99
45
76

上面,我們有一個迭代器方法display(),它使用yield語句一次返回一個元素:

public static IEnumerable<string> display() {
   int[] arr = new int[] {99,45,76};

   foreach (var val in arr) {
      yield return val.ToString();
   }
}

結果得到儲存,並迭代並列印每個元素:

IEnumerable<string> ele = display();
foreach (var element in ele) {
   Console.WriteLine(element);
}

更新於:20-Jun-2020

307次瀏覽

開啟你的職業生涯

完成課程獲得認證

開始
廣告
© . All rights reserved.