我想将一些列表添加到另一个列表中。
结果应该看起来像主列表包含嵌套列表元素。
MainList:
[0]InnerList:
[0]some values
[1]some values
[1]InnerList:
[0]some values
[1]some values
我尝试这样做:
list.Add(new List<myClass>().Add(innerList));
但我收到了错误消息
答案 0 :(得分:0)
将其拆分,添加不会返回列表。
List<List<String>> inner = new List<List<String>>();
List<String> leaves = new List<String>();
leaves.Add( "some string" );
inner.Add( leaves );
list.Add( inner );
答案 1 :(得分:0)
尝试使用列表构造函数而不是Add
方法。因为Add
方法返回void。
list.Add(new List<myClass>(innerList));
或如果innerList
已经是List<myClass>
类型,那么您可以执行以下操作:
list.Add(innerList);
答案 2 :(得分:0)
myClass
类型的元素列表为List<myClass>
,因此此类列表的列表为List<List<myClass>>
。这是一个简单的例子,如何在一行中创建和填充这样的列表列表(我使用虚构类型C
):
using System;
using System.Collections.Generic;
public class Program
{
public static void Main()
{
var list = new List<List<C>>{
new List<C>{
new C(1),
new C(2)
},
new List<C>{
new C(3),
new C(4)
}
};
Console.WriteLine((list[0][0]).Value);
Console.WriteLine((list[0][1]).Value);
Console.WriteLine((list[1][0]).Value);
Console.WriteLine((list[1][1]).Value);
}
}
public class C
{
public int Value;
public C(int val)
{
this.Value = val;
}
}
这将为您提供输出:
1
2
3
4