C#を使用してアルゴリズム内でN回何かを行う必要があるたびに、このコードを記述します
for (int i = 0; i < N; i++)
{
...
}
Rubyを勉強して、このような同じセマンティクスで使用できるメソッドtimes()について学びました。
N.times do
...
end
C#のコードフラグメントはより複雑に見えるため、役に立たない変数iを宣言する必要があります。
IEnumerableを返す拡張メソッドを作成しようとしましたが、サイクル変数iを宣言する必要があるため、結果に満足できません。
public static class IntExtender
{
public static IEnumerable Times(this int times)
{
for (int i = 0; i < times; i++)
yield return true;
}
}
...
foreach (var i in 5.Times())
{
...
}
いくつかの新しいC#3.0言語機能を使用して、N回のサイクルをよりエレガントにすることは可能ですか?