将列表添加到另一个列表 - 嵌套列表
Add list to another one - nested list
我想将一些列表添加到另一个列表。
结果应该看起来像一个包含嵌套列表元素的主列表。
MainList:
[0]InnerList:
[0]some values
[1]some values
[1]InnerList:
[0]some values
[1]some values
我尝试这样做:
list.Add(new List<myClass>().Add(innerList));
但是我收到一条错误消息
将其拆分,添加不 return 列表。
List<List<String>> inner = new List<List<String>>();
List<String> leaves = new List<String>();
leaves.Add( "some string" );
inner.Add( leaves );
list.Add( inner );
尝试使用列表构造函数而不是 Add
方法。因为 Add
方法 returns void.
list.Add(new List<myClass>(innerList));
或者如果 innerList
已经是 List<myClass>
类型那么你可以这样做:
list.Add(innerList);
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
我想将一些列表添加到另一个列表。
结果应该看起来像一个包含嵌套列表元素的主列表。
MainList:
[0]InnerList:
[0]some values
[1]some values
[1]InnerList:
[0]some values
[1]some values
我尝试这样做:
list.Add(new List<myClass>().Add(innerList));
但是我收到一条错误消息
将其拆分,添加不 return 列表。
List<List<String>> inner = new List<List<String>>();
List<String> leaves = new List<String>();
leaves.Add( "some string" );
inner.Add( leaves );
list.Add( inner );
尝试使用列表构造函数而不是 Add
方法。因为 Add
方法 returns void.
list.Add(new List<myClass>(innerList));
或者如果 innerList
已经是 List<myClass>
类型那么你可以这样做:
list.Add(innerList);
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