C#列表初始化列表,{new List<;int>;(){1,2,3}不工作?
我正在尝试创建一个整数列表,我想在不使用.Add的情况下“内联”创建它,但它不起作用,为什么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<
// 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,想看看我是否能将所有这些数字提取到一个集合中,现在它可以工作了:)