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);

}

以上是 C#中的迭代器 的全部内容, 来源链接: utcz.com/z/345858.html

回到顶部