性能:同时循环

本文关键字:循环 性能 | 更新日期: 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 中使用其中任何一个。