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:修改了集合;枚举操作可能无法执行。
答案 0 :(得分:3)
您无法删除要枚举的集合中的项目。过滤列表的最简单方法是使用Linq:
groupedCustomerList = groupedCustomerList
.Where(l => l.Count() != 1)
.ToList();