Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#列表初始化列表,{new List<;int>;(){1,2,3}不工作?_C#_List - Fatal编程技术网

C#列表初始化列表,{new List<;int>;(){1,2,3}不工作?

C#列表初始化列表,{new List<;int>;(){1,2,3}不工作?,c#,list,C#,List,我正在尝试创建一个整数列表,我想在不使用.Add的情况下“内联”创建它,但它不起作用,为什么 // This is working List<List<int>> lists = new List<List<int>>(); lists.Add(new List<int>() { 1, 2, 3 }); lists.Add(new List<int>() { 4, 5, 6 }); lists.Add(new List<

我正在尝试创建一个整数列表,我想在不使用.Add的情况下“内联”创建它,但它不起作用,为什么

// This is working
List<List<int>> lists = new List<List<int>>();
lists.Add(new List<int>() { 1, 2, 3 });
lists.Add(new List<int>() { 4, 5, 6 });
lists.Add(new List<int>() { 7, 8, 9 });

// This compiles, no red, but is not working, the list stays empty
List<List<int>> secondList = new List<List<int>>();
{
    new List<int>() { 1, 2, 3 };
    new List<int>() { 4, 5, 6 };
    new List<int>() { 7, 8, 9 };
};
//这正在工作
列表=新列表();
添加(新列表(){1,2,3});
添加(新列表(){4,5,6});
添加(新列表(){7,8,9});
//这将编译,没有红色,但不工作,列表保持为空
List secondList=新列表();
{
新列表(){1,2,3};
新列表(){4,5,6};
新列表(){7,8,9};
};
还有,为什么第二个例子需要;在列表之间,而不仅仅是“,”像某种类型的列表


p.S.解决了我刚刚意识到我还有另一个问题,我把它写成
List=newlist();{ ... };在我的代码中,第一个分号不应该出现,一个简单的输入错误:D,它要求;在线路上,当我使用时给了我错误

解决方案:

List<List<int>> secondList = new List<List<int>>
{
    new List<int>() { 1, 2, 3 },
    new List<int>() { 4, 5, 6 },
    new List<int>() { 7, 8, 9 }
};
List secondList=新列表
{
新列表(){1,2,3},
新列表(){4,5,6},
新列表(){7,8,9}
};

第二个示例的语法不正确。您应该使用逗号作为分隔符,而不是

var lists = new List<List<int>>
{
    new List<int> { 1, 2, 3 },
    new List<int> { 4, 5, 6 },
    new List<int> { 7, 8, 9 }
};
var列表=新列表
{
新名单{1,2,3},
新名单{4,5,6},
新名单{7,8,9}
};

这很好。

第二个示例没有编译,应该是这样的:

List<List<int>> lists = new List<List<int>>()
{
    new List<int>() { 1, 2, 3 },
    new List<int>() { 4, 5, 6 },
    new List<int>() { 7, 8, 9 }
};
列表列表=新列表()
{
新列表(){1,2,3},
新列表(){4,5,6},
新列表(){7,8,9}
};

第二个列表应该是:
list lists1=new list(){new list(){1,2,3},new list(){4,5,6},new list(){7,8,9},}我刚刚意识到我有另一个问题,我把它写成List=newlist();{ ... }; 在我的代码中,第一个分号不应该出现,一个简单的打字错误:D,它要求;在我使用的时候,他给了我错误,但是你提到的代码甚至不能编译。你说是吗?@FaizanRabbani我只是写了两个不同的例子,我没有两次尝试初始化“list”变量,我在两个例子之间留了一行空白,不知道stackoverflow为什么写在同一个正文中。无论如何,我更改了第二个列表的名称以避免这种混淆。@Darkbound然后回答您自己的问题并接受它,以便将此问题从未回答的问题列表中删除。谢谢,我意识到我的实际问题在其他地方,我尝试使用“,”开始时,但它没有生成,请参阅我的第一条评论以获取解释。谢谢,我意识到我的实际问题在其他地方,我尝试使用“,”进行操作,但最初没有构建,请参阅我的第一条评论以获取解释。没有问题。在我看来,对象初始化(就像您在第二个示例中所做的那样)是比第一个示例更干净的代码,所以您很好地澄清了这一点!是的,我只是想练习LINQ,想看看我是否能将所有这些数字提取到一个集合中,现在它可以工作了:)