C# 中的 yield 关键字

Muhammad Maisam Abbas 2023年12月11日
C# 中的 yield 关键字

本教程将讨论 C# 中 yield 关键字的用法。

C# 中的 yield 关键字

yield 关键字是 C# 中的上下文关键字。它与 return 关键字一起使用,以指定所使用的方法是迭代器。yield 关键字的最佳用法是当我们遍历列表时。使用 yield 关键字,我们可以遍历一个列表,并将列表中的元素返回给调用函数,然后返回到循环并从下一个索引开始。yield 关键字返回 IEnumerator 类的对象。因此,使用 yield 关键字的函数的返回类型需要为 IEnumerator。以下代码示例向我们展示了如何在 C# 中使用 yield 关键字。

using System;
using System.Collections.Generic;

namespace yield_keyword {
  class Program {
    static IEnumerable<string> Strings() {
      List<string> Values = new List<string> { "value1", "value2", "value3", "value4" };
      foreach (var val in Values) {
        yield return val;
      }
    }
    static void Main(string[] args) {
      foreach (var i in Strings()) {
        Console.WriteLine(i);
      }
    }
  }
}

输出:

value1
value2
value3
value4

我们创建了一个函数 Strings(),该函数使用 C# 中的 yield 关键字返回字符串列表的元素。yield 关键字从 Values 列表中获取一个值,将其返回到调用函数,然后如果再次调用 Strings() 函数,则从下一次迭代继续循环。

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn

相关文章 - Csharp Keyword