C# 正在从内部列表中删除项-linq

C# 正在从内部列表中删除项-linq,c#,linq,C#,Linq,我有一个列表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. eg:list1->List->Ball包含图像列表。 列表2->列表

我有一个列表list1,其中包含另一个列表list2

我必须使用lambda表达式从list1list2中删除一个项,其中id=2。 我怎么写呢

eg: list1 -> List<balls>  -> Ball contains list of images.
    list2 -> List<images> -> each image will have an id.
eg:list1->List->Ball包含图像列表。
列表2->列表->每个图像都有一个id。
我需要从列表1中删除一些球的图像(其中图像id为1)类似于

list1.First(k => k.id == 2)
     .list2.RemoveAt(0);
如果您的id引用了列表2,则必须进行循环

foreach (var item in list1)
{
    item.list2.RemoveAll(k => k.id == 2);
}
或者

list1.ForEach(item => item.list2.RemoveAll(k => k.id == 2));
差不多

list1.First(k => k.id == 2)
     .list2.RemoveAt(0);
如果您的id引用了列表2,则必须进行循环

foreach (var item in list1)
{
    item.list2.RemoveAll(k => k.id == 2);
}
或者

list1.ForEach(item => item.list2.RemoveAll(k => k.id == 2));
您可以尝试以下方法:

list1.ForEach(ball =>
    ball.list2.RemoveAll(image => image.Id == 2));
您可以尝试以下方法:

list1.ForEach(ball =>
    ball.list2.RemoveAll(image => image.Id == 2));

你能根据你的问题创建一个新的答案吗?你试过你这边的东西吗?你在谷歌上搜索过吗?是的。我对Linq/Lamda expression很陌生。你能根据你的问题创建一个新的表达吗?你试过你这边的东西吗?你在谷歌上搜索过吗?是的。我对Linq/Lamda表达式非常陌生。
Id
用于
image
,而不是
ball
Id用于图像。i、 对于list2对象,
Id
表示
image
,而不是
ball
Id表示图像。i、 对于list2对象,此sln有效。删除图像后,我再次打印了所有图像id。它还打印“2”。i、 E2没有被移除。对。这个sln工作了。删除图像后,我再次打印了所有图像id。它还打印“2”。i、 E2没有被移除..对吗。?