NETシーケンサ
2235 ワード
ディケンサは、同じタイプの値を返すことができる順序付きシーケンスの一部のコードです.
シーケンサは、方法、演算子、またはgetアクセスのコード体として使用できます.
ディケンサコードは、yield return文を使用して、各要素を順次返します.イガイドbreakは反復を終了します.
クラスの中で複数のサブジェネレータを実現することができます.各サブエージェントは、任意のクラスのメンバーのように一意の名前が必要であり、foreach文でクライアントコードに呼び出されることができます.以下のように、foreach(int x in SampleClass.Iterator 2){}
ディケンサの復帰タイプは、IEnumerable、IEnumerable<T>またはIEnumerator<T>でなければなりません.
public class DaysOfTheWeek : System.Collections.IEnumerable
{
string[] m_Days = { "Sun", "Mon", "Tue", "Wed", "Thr", "Fri", "Sat" };
public System.Collections.IEnumerator GetEnumerator()
{
for (int i = 0; i < m_Days.Length; i++)
{
yield return m_Days[i];
}
}
}
class TestDaysOfTheWeek
{
static void Main()
{
DaysOfTheWeek week = new DaysOfTheWeek();
foreach (string day in week)
{
System.Console.Write(day + " ");
}
}
}