|
|
連載:[完全版]究極の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 記事ランキング
本日
月間