C#のyieldの使い方は何ですか?
C#では、yieldキーワードは、イテレータメソッドを定義するために使用され、そのメソッドが列挙可能なシーケンスを返すことができます。
yieldキーワードを使用した構文は以下の通りです:
yield return expression;
expressionが返される値です。
yield return文を使用すると、反復子メソッドはシーケンス内の次の要素を返し、次の反復でメソッドを続行します。
yieldを使用する例です:
public static IEnumerable<int> GetNumbers()
{
yield return 1;
yield return 2;
yield return 3;
}
// 调用迭代器方法
foreach (int number in GetNumbers())
{
Console.WriteLine(number);
}
上記のコードは、GetNumbersというイテレーターメソッドを定義しており、1、2、3を含むシーケンスを返します。foreachループでGetNumbersメソッドを呼び出すと、各イテレーションでシーケンスの次の要素が返され、それがnumber変数に割り当てられ、コンソールに出力されます。
yieldを使用すると、IEnumerableおよびIEnumeratorインターフェイスを明示的に実装する必要なく、簡単にイテレータを作成および使用することができます。