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

更新时间: 2020-06-20

307 次浏览

开启您的 职业

通过完成课程获得认证

开始
广告
© . All rights reserved.