|  |  | 
 
| 連載:[完全版]究極のC#プログラミングChapter3 新しい繰り返しのスタイル ― yield return文とForEachメソッド川俣 晶2009/08/31
 |  | 
| 
 | 
3.6 yieldは予約語ではない
 互換性を維持するため、「yield」は予約語ではなく、returnやbreakキーワードの手前に書かれた場合にのみ、特別な意味を持つようになっている。
 そのため、yieldという名前を変数などに使うことは安全である。それどころか、returnキーワードの手前に書かない限り特別な意味を持たないため、yield returnの後に変数名yieldを書くこともできる(とはいえ、紛らわしいので変数などの名前にyieldは避けたほうがよいだろう)。
 実際に書いた例をリスト3.5に示す。
| 
 
| using System;using System.Collections.Generic;
 
 class Sample
 {
 public IEnumerator<int> GetEnumerator()
 {
 int yield = 12345;
 yield return yield;
 }
 }
 
 class Program
 {
 static void Main(string[] args)
 {
 foreach (int i in new Sample())
 {
 Console.Write(i);
 }
 // 出力:12345
 }
 }
 
 |  | 
| リスト3.5 「yield」を変数名として使った例 | 
 
 
 
	
		Insider.NET 記事ランキング
		
		
			本日
			月間