我有 list1 列表,其中包含另一个列表 list2 。
我必须使用lambda表达式从 list1 的 list2 中删除项目,其中id = 2。 我该怎么写呢?
eg: list1 -> List<balls> -> Ball contains list of images.
list2 -> List<images> -> each image will have an id.
我需要从list1删除某些球的图像(图片ID为1)
答案 0 :(得分:4)
你可以试试这个:
list1.ForEach(ball =>
ball.list2.RemoveAll(image => image.Id == 2));
答案 1 :(得分:1)
像
这样的东西list1.First(k => k.id == 2)
.list2.RemoveAt(0);
如果你的id引用了list2,你必须进行循环。
foreach (var item in list1)
{
item.list2.RemoveAll(k => k.id == 2);
}
或者,
list1.ForEach(item => item.list2.RemoveAll(k => k.id == 2));