如何不使用Add方法创建嵌套List?代码报错寻求解决方案
嵌套List<List>的正确初始化方式
你当前的代码报错,是因为外层List<List<int>>的元素类型是List<int>,但你直接用{ 1, 7, ... }这种语法时,编译器无法自动将其识别为List<int>实例——这种集合初始化器需要明确对应到具体的集合类型。
不需要必须逐个调用Add方法,只需要给每个内部集合显式创建List<int>实例即可,正确写法如下:
public List<List<int>> CellsByNumero = new List<List<int>>() { new List<int> { 1, 7, 13, 18, 19, 25, 31 }, new List<int> { 1, 2, 3, 25, 26, 27, 31, 32, 33 } };
也可以保留内部构造函数的括号,效果完全一致:
public List<List<int>> CellsByNumero = new List<List<int>>() { new List<int>() { 1, 7, 13, 18, 19, 25, 31 }, new List<int>() { 1, 2, 3, 25, 26, 27, 31, 32, 33 } };
这样编译器就能正确识别每个内部元素是List<int>类型,完成嵌套List的初始化。
内容的提问来源于stack exchange,提问作者Sevlac
相关产品推荐
相关产品推荐

