在列表上添加多个值

时间:2019-04-02 01:56:01

标签: c#

是否可以将多个项目添加到列表中或将值列表添加到列表中。

这是我目前执行的伪代码:

List<string> myList = new List<string>();
myList.add("a","b","c","d","e","f","g");       
myList.add("h","i","j","k","l","m","n");       
myList.add("a1","a2","a3"); 

我的预期结果是:

[["a","b","c","d","e","f","g"], ["h","i","j","k","l","m","n"], ["a1","a2","a3"]]

任何建议/评论TIA。

2 个答案:

答案 0 :(得分:3)

您要的是List<List<string>>。可能有更好的结构来存储数据,但是由于未提供任何上下文,因此可以执行以下操作:

var myList = new List<List<string>>();

并添加以下内容:

myList.Add(new List<string> { "a", "b", "c", "d", "e", "f", "g" });
myList.Add(new List<string> { "h", "i", "j", "k", "l", "m", "n" });
myList.Add(new List<string> { "a1", "a2", "a3" });

或使用collection initialiser在一段代码中:

var myList = new List<List<string>>
{
    new List<string> { "a", "b", "c", "d", "e", "f", "g" },
    new List<string> { "h", "i", "j", "k", "l", "m", "n" },
    new List<string> { "a1", "a2", "a3" }
};

答案 1 :(得分:2)

应该和

一样简单
var myList = new List<List<string>>()
         {
            new List<string> { "a", "b", "c", "d", "e", "f", "g" },
            new List<string> { "h", "i", "j", "k", "l", "m", "n" },
            new List<string> { "a1", "a2", "a3" },
         };
// OR

var myarray = new[]
          {
             new[] { "a", "b", "c", "d", "e", "f", "g" },
             new[] { "h", "i", "j", "k", "l", "m", "n" },
             new[] { "a1", "a2", "a3" },
          };

其他资源

Object and Collection Initializers (C# Programming Guide)

  

C#可让您实例化对象或集合并执行成员   单个语句中分配作业。

Collection initializers

  

集合初始值设定项可让您指定一个或多个元素   初始化实现的集合类型时的初始值设定项   IEnumerable并具有带有适当签名的Add作为实例   方法或扩展方法。元素初始值设定项可以是   简单值,表达式或对象初始值设定项。通过使用   集合初始值设定项,您不必指定多个调用;的   编译器会自动添加调用。