2017-04-16 12 views
-1

1000行のGridviewを考えてみましょう。(foreachループ)イテレータを宣言すると、パフォーマンスに影響はありますか?

私はGridViewのそれぞれの行を反復処理したい場合は、私は二つの方法でそれを行うことができますです

foreach (GridviewRow row in gridview1.Rows) { 
    // the variable row is declared in the body of the for loop. 
    // do stuff with current row 
} 

別の方法:

GridviewRow row; 

foreach(row in gridview1.Rows) { 
    // here, the variable row was declared before for loop. 
    // do stuff with current row. 
} 

私は両方のかどうかを知りたいですそれらはメモリ割り当て/ CPU性能などの面で他のものより "良い"でしょう。

+0

どのように単純に両方を試して、生成されたILを検査するのですか?私は、効率の違いについて、もしあれば、どちらか一方との間で、あなたが心配していることはほとんどありません... – InBetween

+0

私が意味していたのは、私は一方的に使うのか他の方法を使う方がいいですか?混乱を解消するために私の質問を編集しました。 @InBetween – Ahmad

+0

パフォーマンスですか? NET 4の前に、簡単な 'foreach'がXNAに大きな打撃を与えたボクシングゴミを生成します。 MonoとUnity3D。 Unityだけが[最近これを解決しました](https://unity3d.com/learn/tutorials/topics/performance-optimization/optimizing-garbage-collection-unity-games)。あなたの.NETバージョンに応じて 'for'ループを使うことだけを考えてみたいかもしれません。 – MickyD

答えて

0

生成されたILコードについてはわかりませんが、あなたがforeachループを使用しているという事実をリングしてください。forループではありません。

+0

私の質問を編集して、質問をより明確にしました。 – Ahmad

+0

@Ahmad、答えに記載されているように...違いはありません – Rahul

関連する問題