假设你想循环 3 个这样的元素:
for(int i=0; i<3; i++)
{
doSomething();
}
当然,这与说:doSomething(); doSomething(); doSomething();
.
现在,假设您想在每次迭代之间做一些事情,就好像您正在编写这样的代码:
doSomething(); doBetween(); doSomething(); doBetween(); doSomething();
注意如何doSomething()
被调用 3 次,但doBetween()
被调用了 2 次。
现在,我知道如何在循环中执行此操作的唯一方法是:
for(int i=0; i<3; i++)
{
doSomething();
if(i<2)
doBetween();
}
对我来说,在循环中运行该条件似乎效率低下。它还使您必须查看两次才能理解编程意图。另外,如果您将“3”更改为“for”标题中的其他内容,您可能很容易忘记更改条件,尤其是随着逻辑的增长。不仅如此,这个技巧在 foreach 循环中也不起作用,因为没有简单的方法来检测我们是否正在运行最后一次迭代。
您有什么技巧可以让您以更好的性能、更好的可读性、更好的可维护性或在 foreach 循环中执行此类操作?