ここでは、C# における yield return および yield break ステートメントの基本的な使用方法について掲載しています。
最近知りました。積極的に知識を吸収しようとしなければ、知らないことばかりです。反省。
スポンサーリンク
yield break ステートメント
下記では yield return ステートメントについての簡単なサンプルを実行しましたが、今回は途中で値の返却を中断してみます。
下記に示すのは、yield break ステートメントのサンプルコードです。詳細はサンプル内のコメントを参照ください。
private void button1_Click(object sender, EventArgs e) { foreach(int i in GetIntValues()) { Console.WriteLine(i.ToString()); // 1 } } private IEnumerable<int> GetIntValues() { // リターンされる yield return 1; // 何らかの条件に合致したら以降の値を返却を中断する if(true) { yield break; // return; /* * 上記のように return 文で処理を中断することはできない。 * 次のコンパイルエラーが発生する * * CS1622 * 反復子から値を返すことができません。yield return ステートメントを使用して値を返すか、 * yield break ステートメントを使用して反復子を終了してください。 */ } // このサンプルでは次の値は呼び出し元にリターンされない yield return 2; }