将列表添加到另一个列表 - 嵌套列表

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