今回新しくなったC# 2.0(.NET Framework 2.0 / VS 2005)の新機能(?)です。
Iterators(イテレータ)を使うことで、列挙型を簡単に実装することができるようになるとのこと。
私はVBメインなのであまりC#で開発したことがないのでよくわからないのですが…
IEnumeable で列挙型を実装した場合、for each 文でループさせた場合の状態を管理する必要があったようで…。
それが、Iteratorsを使うことによって簡単に実装できるようです。
for each で状態制御を書かなくても、yield return 文を書くことによって、きちんと値を順番に返してくれるようです。
以下、サンプルっぽいもの。
Class Sample01
{
void main()
{
foreach (String s in Sample01.GetEnum())
{
Console.WriteLine(s);
}
}
public static IEnumeable GetEnum()
{
yield return "x86";
yield return "ia64";
yield return "sparc";
yield return "PowerPC";
}
}
うーむ。VBな自分にはC#は難しかったか…