在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