在C#中,使用.NET Framework 4,是否有一種優雅的方式來重複相同的動作一定次數?例如,而不是:有沒有一種優雅的方式來重複一個動作?
int repeat = 10;
for (int i = 0; i < repeat; i++)
{
Console.WriteLine("Hello World.");
this.DoSomeStuff();
}
我想寫點東西像:
Action toRepeat =() =>
{
Console.WriteLine("Hello World.");
this.DoSomeStuff();
};
toRepeat.Repeat(10);
或:
Enumerable.Repeat(10,() =>
{
Console.WriteLine("Hello World.");
this.DoSomeStuff();
});
我知道我可以創建自己的擴展方法的第一個例子,但是不存在使得它已經可以做到這一點的現有功能?
當然,沒有什麼能阻止你在IEnumerable上編寫自己的副作用氾濫的'Repeat'或'ForEach'方法 - 語言設計師在那個時候洗了手。 – geofftnz
我可以問爲什麼使用'ForEach'作爲例子,這是一件壞事嗎? – Coops
@CodeBlend,這將是一個很好的問題。 – Joe