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

时间:2015-12-12 08:38:47

标签: c# .net asp.net-mvc list nested-lists

我想将一些列表添加到另一个列表中。

结果应该看起来像主列表包含嵌套列表元素。

MainList:
 [0]InnerList:
    [0]some values
    [1]some values
 [1]InnerList:
    [0]some values
    [1]some values

我尝试这样做:

list.Add(new List<myClass>().Add(innerList));

但我收到了错误消息

3 个答案:

答案 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