C# Can';t创建列表对象数组

C# Can';t创建列表对象数组,c#,collections,C#,Collections,我有一行这样的代码: List<string>[] apples = new List<string>()[2]; List[]apples=newlist()[2]; 它的目的只是创建一个列表对象数组。当我试图编译代码时,上面的一行会生成以下错误: 无法将类型“string”隐式转换为“System.Collections.Generic.List[] 关于创建列表对象数组(实际上只有线程),我没有找到太多的内容,可能是因为没有搜索引擎会搜索括号 创建列表集合以将它

我有一行这样的代码:

List<string>[] apples = new List<string>()[2];
List[]apples=newlist()[2];
它的目的只是创建一个列表对象数组。当我试图编译代码时,上面的一行会生成以下错误:

无法将类型“string”隐式转换为“System.Collections.Generic.List[]

关于创建列表对象数组(实际上只有线程),我没有找到太多的内容,可能是因为没有搜索引擎会搜索括号

创建列表集合以将它们放入另一个列表(如下面所示)的唯一方法是什么

List<List<string>> apples = new List<List<string>>(); //I've tried this and it works as expected
List apples=新列表()//我已经试过了,效果和预期的一样
谢谢你的建议,我真的很好奇为什么第一行代码(列表[]示例)不起作用。

试试这个:

List<string>[] apples = new List<string>[2];
List[]apples=新列表[2];
之后,您将初始化每个列表:

apples[0] = new List<string>();
apples[0]=新列表();
var listary=新列表[2];
for(var i=0;i
您可以这样做。语法是:

List<string>[] apples = new List<string>[2];
List[]apples=新列表[2];
请注意,这只分配了一个引用数组-在使用单个列表元素之前,您需要实际构造它们:

List<string>[] apples = new List<string>[2];
apples[0] = new List<string>();
apples[1] = new List<string>();
List[]apples=新列表[2];
苹果[0]=新列表();
苹果[1]=新列表();
或者,您可以使用集合初始化语法(适用于少量固定元素),即:

List[]apples=new[]{new List(),new List()};

简单的错误,去掉括号。谢谢,我真不敢相信我没有想过要尝试。让它有趣一点,问一下错误消息为什么这么糟糕。哈哈,实际上我在发布这个问题之前,在脑海中试图逻辑地浏览错误消息……这对我来说没什么意义,但我想那是因为我是个新手。虽然我认为如果我问为什么这是一条如此糟糕的错误消息,没有人会得到答案:)谢谢,我不知道“集合初始化语法”,我可以看出这是多么有用。
List<string>[] apples = new List<string>[2];
apples[0] = new List<string>();
apples[1] = new List<string>();
List<string>[] apples = new[] { new List<string>(), new List<string>() };