2012-04-25 6 views
0

私は、更新された値で特定のコントロールのコレクション(Text値、intの0..3に変換されたもの)を比較する必要があります。どちらもお互いの比較に好ましい - リスト<int>またはint []?

このような比較の方が適しているのはどれですか(リストまたはint []

それぞれの要素を他のリストまたは配列の「コンパニオン」要素と比較する必要があります。

+0

どの意味で適していますか?あなたは比較の例を挙げることができますか? – Tudor

+0

何かの行に沿って:if(original [i] == changed [i]) –

+0

それでは、配列(と私の答えで述べたLists)は線形に反復するのが非常に速いので、ランダムな位置にジャンプすることができます。 – Tudor

答えて

1

内部ではListも配列(動的にサイズ変更される配列)を使用します。したがって、操作が進む限り、それらは同じです。

+0

ダイナミックアレイとはどういう意味ですか? 'List 'は内部的に 'T []'を使っていますが、それについては何も動いていません。 –

+0

@BrianRasmussenそれは1つの配列ではないという点で動的ですね、 'List'は定期的に新しい配列を作成しています。私は同意する、それは奇妙に聞こえる。 – Servy

+0

追加する予定のアイテム数を事前に知ることができないため、追加/削除に従って割り当てられた領域を調整するという意味で動的です。 MSDN: 'IList ジェネリックインターフェイスを実装しており、必要に応じてサイズが動的に増加する配列を使用しています。 ' – Tudor

1

IEnumerable<int>は問題ありません。

var pre = Enumerable.Range(1, 3); 
var post = new [] {0, 2, 1}; 

var same = pre.Zip(post, (before, after) => new {before, after}) 
    .Where(x => x.before == x.after); 

Assert.AreEqual(1, same.Count()); 
関連する問題