【发布时间】:2010-03-17 13:26:52
【问题描述】:
有没有不使用 for/foreach/while 循环多次调用方法/代码行的方法?
例如,如果我要使用 for 循环:
int numberOfIterations = 6;
for(int i = 0; i < numberOfIterations; i++)
{
DoSomething();
SomeProperty = true;
}
我调用的代码行不使用“i”,在我看来,整个循环声明隐藏了我正在尝试做的事情。对于 foreach 也是如此。
我想知道是否可以使用类似于以下内容的循环语句:
do(6)
{
DoSomething();
SomeProperty = true;
}
很明显,我只想执行该代码 6 次,并且没有涉及索引实例化和将 1 加到某个任意变量的噪音。
作为学习练习,我编写了一个静态类和方法:
Do.Multiple(int iterations, Action action)
这很有效,但在自命不凡的规模上得分很高,我相信我的同龄人不会赞成。
我可能只是很挑剔,for 循环肯定是最容易识别的,但作为一个学习点,我只是想知道是否有(更清洁的)替代方案。谢谢。
(我看过这个帖子,但它并不完全相同) Using IEnumerable without foreach loop
【问题讨论】:
-
坚持使用 for 循环。这样每个人都知道它是什么。
-
嗯,你想执行相同的代码 6 次?您只是想浪费时间,还是执行的代码有副作用?无论哪种情况,都让你感到羞耻。
-
我真的看不出 for 循环有什么不干净的地方。
-
方便@Mark,看看你最近的旧代码吗?
-
没有计数器怎么知道已经完成了多少次迭代?