it-swarm.cn

C#中的List数组

我想要一个列表数组。在C++中,我喜欢:

List<int> a[100];

这是由100个列表组成的数组。每个列表可以包含许多元素。我不知道如何在C#中执行此操作。谁能帮我?

43
orezvani

您确实喜欢这样:

List<int>[] a = new List<int>[100];

现在,您有了一个List<int>类型的数组,其中包含100个空引用。您必须创建列表并将其放入数组,例如:

a[0] = new List<int>();
81
Guffa

由于未对此问题给出任何上下文,并且您是一个相对较新的用户,因此我想确保您知道可以拥有列表列表。它与list数组不同,您是专门为此要求的,但是:

List<List<int>> myList = new List<List<int>>();

您可以通过集合初始值设定项对它们进行初始化,如下所示:

List<List<int>> myList = new List<List<int>>(){{1,2,3},{4,5,6},{7,8,9}};
17
Tormod

简单方法:

        List<int>[] a = new List<int>[100];
        for (int i = 0; i < a.Length; i++)
        {
            a[i] = new List<int>();
        }

LINQ方法

        var b = Enumerable.Range(0,100).Select((i)=>new List<int>()).ToArray();
10
ja72
List<int>[]  a = new List<int>[100];

但是,在使用数组之前,仍然需要分配数组中的每个列表:

for (int i = 0; i < a.Length; i++)
    a[i] = new List<int>();
2
BrokenGlass

采用

List<int>[] a = new List<int>[100];
1
Yahia