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ループを使用して、各要素を順番に走査して印刷することができます。