-7

簡単な質問: 方法 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 ループに置き換える必要がありますか?

4

3 に答える 3

2

私はどちらも提案しません、むしろ私はこれを提案します

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);

パフォーマンス上の利点はわずかですが、プリインクリメント操作はポストよりも高速です

于 2012-05-14T09:47:59.743 に答える
1

違いはありません(少なくともパフォーマンスの点では重要です。非常に重い計算で測定する必要があります)

私は最初のものを選びます

于 2012-05-14T09:17:46.737 に答える
-1

どちらも実行時間は同じですが、違いはありません。どちらでもプロジェクトで使用できます。

于 2012-05-14T09:19:55.647 に答える