我List<int>
可以 List<List<int>>
在c#中转换吗?当我使用这种结构时
List<int>element=new List<int>();
List<List<int>>superElement= new List<List<int>>(element);
我有错,但我可以用另一种方式做到这一点吗?
我List<int>
可以 List<List<int>>
在c#中转换吗?当我使用这种结构时
List<int>element=new List<int>();
List<List<int>>superElement= new List<List<int>>(element);
我有错,但我可以用另一种方式做到这一点吗?
你可以这样做:
List<List<int>> superElement = new List<List<int>>();
superElement.Add(element);
List<int>element=new List<int>();
List<List<int>>superElement= new List<List<int>> { element };
那会奏效的。您不能在构造函数中传递列表。
尝试这个 :
var element = new List<int>();
var superElement = new List< List<int> >(){ element };
是的。您可以使用集合初始化程序
List<int> element = new List<int>();
List<List<int>> superElement = new List<List<int>> { element };
http://msdn.microsoft.com/en-gb/library/vstudio/bb384062.aspx
如果您只想初始化列表,那么
List<List<int>>superElement= new List<List<int>>();
作品; 如果您希望它最初包含一个(空)元素,那么
List<List<int>>superElement= new List<List<int>>{element};
会做的。
由于我不相信其他答案真的付出了太多努力来提供帮助,因此我将发布我认为更完整和更有用的答案。
首先,为了完整起见,我将展示如何实现实际尝试完成的目标。要创建列表列表,您可以执行以下操作:
List<int> element = new List<int>();
List<List<int>> superElement = new List<List<int>>();
superElement.Add(element);
但就目前而言,您为什么要这样做并没有多大意义,并且经过一些评论调查(希望它没有受到伤害)我们发现您想要将 ID 与 List 配对整数。我建议对此采取不同的方法。
就个人而言,我会创建一个类来保存我的数据,然后为这些项目创建一个列表,如下所示:
public class MyData
{
public int ID {get; set;}
public List<int> MyValues {get;set;}
public MyData()
{
MyValues = new List<int>();
}
}
然后你可以这样做:
List<int> element = new List<int>();
MyData data = new MyData();
data.ID = 1;
data.MyValues = element;
List<MyData> superElement = new List<MyData>();
superElement.Add(data);
这将允许像这样查询:
MyData data1 = superElement.SingleOrDeafult(x => x.ID == 1);
List<int> element = data1.MyValues;
假设您有可用的 Linq。
另一种方法可能是使用字典,如下所示:
Dictionary<int, List<int>> superElement = new Dictionary<int, List<int>>();
superElement.Add(1, element);
ID在哪里1
,您可以像这样调用它:
List<int> element = superElement[1];