如何从主列表中删除/过滤列表计数1?

时间:2017-08-17 19:50:08

标签: c# .net winforms

var groupedCustomerList = pairList
    .GroupBy(u => u.Distance)
    .Select(grp => grp.ToList())
    .ToList();

        foreach(List<PosDisPair> list in groupedCustomerList)
        {
          if (list.Count() == 1)
            {
                groupedCustomerList.Remove(list);
            }
        }

我在线上获得例外:

foreach(List<PosDisPair> list in groupedCustomerList)

groupedCustomerList是包含许多列表的列表,我想删除所有计数为1的列表。

InvalidOperationException:修改了集合;枚举操作可能无法执行。

1 个答案:

答案 0 :(得分:3)

您无法删除要枚举的集合中的项目。过滤列表的最简单方法是使用Linq:

groupedCustomerList = groupedCustomerList
    .Where(l => l.Count() != 1)
    .ToList();