C# yield return の使い方とメリットをわかりやすく解説

C#の場合、yield returnは、イテレータ(iterator)を作成し、メソッドが呼び出されるたびにシーケンス内の要素を返すことができるようにします。yield returnを使用すると、イテレータの実装が簡素化され、コードがより簡潔で読みやすくなります。

yield returnを使用すると、そのメソッドは反復子メソッドになり、foreachループを使用して返された要素のシーケンスを反復処理できます。反復子メソッドを呼び出すたびに、メソッドはyield return文まで実行され、その式の値が現在の要素として呼び出し元に返され、次回の呼び出し時にはyield return文の次の行から実行が開始されます。

例えば、以下はyield returnを使用した簡単な例です。

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

// 调用GetNumbers方法
foreach (int num in GetNumbers())
{
    Console.WriteLine(num);
}

上記の例では、GetNumbersメソッドはイテレーターメソッドであり、yield returnキーワードを使用して1、2、3を含む整数のシーケンスを返します。foreachループを使用して、各要素を順番に走査して印刷することができます。

bannerAds