在嵌套列表C#中创建新列表

时间:2013-10-17 11:56:44

标签: c# asp.net generics

任何人都知道如何将新列表添加到另一个列表中,无法预定义新列表。

例如,在获得用户输入后,我将执行以下操作

List<List<string>> ListA = new List<List<string>>();

foreach (List<string> subList in ListA)
{
     foreach (var value in subList)
     {
          if(value != INPUT)
          {
                // ListA needs to creates a new list with value INPUT
          }
     }
}

3 个答案:

答案 0 :(得分:2)

由于您无法修改当前枚举的集合,例如。 ToArray()

foreach (List<string> subList in ListA.ToArray())
{
    foreach (var value in subList)
    {
           if(value != INPUT)
           (
              ListA.Add(new List<string>() { INPUT });
           }
    }
}

答案 1 :(得分:1)

您可以使用linq执行此操作:

包含命名空间:

using System.Linq;

试试这个:

var result = ListA.Select(x => x.Where(k => k != INPUT).ToList()).ToList();

答案 2 :(得分:0)

List<List<string>> ListA = new List<List<string>>();
List<List<string>> ListsToAdd = new List<List<string>>();

foreach (List<string> subList in ListA)
{
    foreach (var value in subList)
    {
           if(value != INPUT)
           (
              List<string> list = new List<string>();
              list.Add(INPUT);
              ListsToAdd.Add(list);
           }
    }
}
ListA.AddRange(ListsToAdd);