rksoftware

Visual Studio とか C# とかが好きです

C# 2.0 以降の新機能の確認 - C# 2.0 - 反復子 (yield)

C# 2.0 以降の新機能を一つづつ確認していきます。
以前に一度行ったのですが、公式ドキュメント再編でリンク切れしているところを見つけてしまったので。今ならもっと簡潔なサンプルが欠けるところもあるだろうし、せっかくなので今もう一度確認して行きます。

反復子 (yield)

 https://docs.microsoft.com/ja-jp/dotnet/csharp/programming-guide/concepts/iterators
 反復子を使用して、リストや配列などのコレクションをステップ実行することができる。

static void Main(string[] args)
{
    foreach (int number in Values())
    {
        Console.WriteLine(number.ToString());
    }
    // 1
    // 2
    // 3
    // と出力
}

public static IEnumerable<int> Values()
{
    yield return 1;
    yield return 2;
    yield return 3;
}