例如
for (int i=1;i<10000;i++)
{
j++;
k++;
}
或
for (int i=1;i<10000;i++)
{
j++;
}
for (int i=1;i<10000;i++)
{
k++;
}
注意 1:在 C# 中使用 ++i
代替 i++
是否更好?
注意 2:如果我们将一个大循环拆分为单独的简单循环,那么我们可以将其转换为 Linq 形式的好处是,例如 enumerable.range(1,10000).forall(x=> j++)
所以在 lambda 表达式或委托(delegate)中我不必将多个语句放在一起。
最佳答案
1:性能无差异;如果您将它用作表达式的一部分,它只是让您可以灵活地使用任何一种形式
2:LINQ 对您的帮助不大;你仍然最终做同样的循环(除非你切换到Parallel
,在这种情况下你的++
被破坏了)——但是如果你添加 LINQ,您正在为此添加开销。
重新循环了多少次;在这种情况下,我会做一个循环 - 但是根据边界等逻辑地定义它。除非其中一个操作很复杂,在这种情况下可能会将其拆分为一个单独的方法。
关于c# - 将独立方法放在一个循环或单独的循环下是一种好习惯吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7075432/