2014-04-24 92 views
4

您好在列表中的初始容量我想初始化一個列表陣列數組大小和每個列表的初始容量存儲的500指定每個存儲列表陣列

在陣列中我嘗試下面的代碼,

static List<string>[] myList = new List<string>(500)[1000];  

它給我的例外:

無法隱式轉換類型「字符串」到 作者: ystem.Collections.Generic.List []

,但如果我只是指定

static List<string>[] myList = new List<string>[1000]; 

有沒有問題......但這個,我不指定每個存儲列表的初始容量在數組中。

在List Array中,我們如何指定存儲在數組中的每個列表的初始容量?

回答

4

在一個聲明中沒有辦法做到這一點。既然你已經有了對象的數組,你需要單獨初始化每個對象:

static List<string>[] myList = new List<string>[1000];  

// in static constructor: 
for(int i = 0; i<myList.Length; i++) 
{ 
    myList[i] = new List<string>(500); 
} 
1

可以使用LINQ:

Enumerable.Range(0, 1000).Select(x => new List<string>(500)).ToArray(); 

當然,你應該把這個做一個聲明像這樣:

class Foo 
{ 
    private static List<string>[] myList; 
    static Foo() 
    { 
     myList = Enumerable.Range(0, 1000) 
      .Select(x => new List<string>(500)).ToArray(); 
    } 
}