2016-05-27 15 views
1

与えられた数の要素をまとめてC#Listにする方法はありますか? 1つずつ追加するだけでなく、他のIEnumerableからコピーすることもできます。次にインデクサを使用して値を割り当てることができます。私はコンストラクタを見つけたList(int capacity)。助けてくれますか?いくつかの要素を持つC#Listを作成する方法はありますか?

+0

なぜアレイを使用しないのですか? – 2kay

+0

今後いくつかのリスト機能が必要になります。 – user1899020

+0

リストを作成したい所定の値がありますか? –

答えて

3

さて、あなたはこの

var List<MyType> result = Enumerable 
    .Range(0, count) 
    .Select(index => create your type instance here) 
    .ToList(); 

のようにそれを置くことができ、(あなたがSelectを経由して、リストを埋めることができるので)あなたは、おそらく、追加の手順を望んでいないことがあります。 のパフォーマンスをお探しの場合

// new List<MyType>(count) reserves memory for "count" items 
// so "Add" will not reallocate the list 
var List<MyType> result = new List<MyType>(count); 

for (int i = 0; i < count; ++i) 
    result.Add(create your type instance here); 
+2

あるいはさらに 'Enumerable.Repeat(デフォルト(T)、count).ToList()' – 2kay

+0

私はパフォーマンスが不思議です。最初にシーケンスを作成してリストにコピーしますか?または、リストに直接作業するだけですか? – user1899020

+0

@ 2kay:「...インデクサを使用して値を割り当てることができます...」「Range(0、count)」を好きで、「Select」でリストを記入してください –

関連する問題