class BreakableClass
{
public IEnumerator<int> GetEnumerator()
{
for (int i = 0; i < 10; i++)
{
if (i == 5)
{
// iが5になったらループを抜ける
yield break;
}
// ループカウンタの値を返す
yield return i;
}
}
}
class Program
{
static void Main(string[] args)
{
var breakClass = new BreakableClass();
foreach (int n in breakClass)
{
Console.WriteLine(n);
}
}
}