如何在C#中创建List 数组?

我有一个问题,我需要一个arrayList数组。

例如,如果我们采用int的ArrayList数组,它将是:

int[] myData = new int[2]; myData[0] = new List(); myData[0].Add(1); myData[0].Add(2); myData[0].Add(3); myData[1] = new List(); myData[1].Add(4); myData[1].Add(5); myData[1].Add(6); myData[0].Add(7); 

我们如何在C#中实现如上所述的数据结构?

在C中,它就像一个LinkedList数组。 我怎样才能在C#中做同样的事情?

 var myData = new List[] { new List { 1, 2, 3 }, new List { 4, 5, 6 } }; 

几乎和你一样,只有第一行不正确:

 List[] myData = new List[2]; myData[0] = new List(); myData[0].Add(1); myData[0].Add(2); myData[0].Add(3); myData[1] = new List(); myData[1].Add(4); myData[1].Add(5); myData[1].Add(6); myData[0].Add(7); 

感谢madmik3,这里有一个链接,您可以在C#中阅读有关通用列表的内容: 点击我

另外,如果你想读一些关于数组的东西,比如Array类的静态复制方法, 这里有一些链接。

 var arraySize = 2; var myArray = new List[arraySize]; myArray[0] = new List(); myArray[1] = new List(); // And so on.... myArray[0].Add(5); 

我更喜欢名单,但这取决于你……

 List> lst = new List>(); lst.Add(new List()); lst.Add(new List()); lst[0].Add(1); lst[1].Add(1); lst[1].Add(2); lst[0].Add(5); 

然后如果你真的想要一个列表在它的末尾都使用一些linq。

 lst.ToArray(); 

您正在尝试采用具体类型List并创建一个数组。
就像string变成new string[2] ,因此List变成new List[2]

这将创建一个可以容纳两个List的数组。
但是,数组中的每个元素都以null开头。
在使用之前,您需要将new List()放入数组的每个插槽中。


但是,您应该使用List>而不是列表数组。