性能:同时循环
本文关键字:循环 性能 | 更新日期: 2023-09-27 18:34:08
简单的问题:方法1和方法2最好?
方法 2 是否更快/更好:
List<int> data = Enumerable.Range(0, 10000000).ToList();
int j = 0;
// Method 1
while (j < data.Count)
{
// do something
j++;
}
j = 0;
// Method 2
while (j++ < data.Count)
{
// do something
}
还是简单的 for 循环会更好?
更新:根据评论,一个子问题:应该避免 while 循环,还是应该避免 for 循环并替换为这些 while 循环?
我建议两者都不建议,而是建议这个
List<int> data = Enumerable.Range(0, 10000000).ToList();
int j = -1;
// Method 1
while (++j < data.Count)
{
// do something
}
int j = 0;
do
{
//anything
} while (++j<data.count);
预增量操作比后置操作快,虽然性能优势很小
没有区别(至少在性能方面是重要的,你应该根据非常繁重的计算来衡量)
我会选择第一个,因为对我来说似乎更清楚。
两者的执行时间相同,没有区别。您可以在您的 poject 中使用其中任何一个。