0

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

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

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
          }
     }
}
4

3 回答 3

2

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

foreach (List<string> subList in ListA.ToArray())
{
    foreach (var value in subList)
    {
           if(value != INPUT)
           (
              ListA.Add(new List<string>() { INPUT });
           }
    }
}
于 2013-10-17T12:01:22.883 回答
1

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

包括命名空间:

using System.Linq;

试试这个:

var result = ListA.Select(x => x.Where(k => k != INPUT).ToList()).ToList();
于 2013-10-17T12:09:28.367 回答
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);
于 2013-10-17T12:01:11.767 回答