我在弄清楚如何编写此代码时遇到了麻烦。

我有一个物品 list ,所有物品都有一个ID。还有另一个值,我们将其称为otherID。如果otherID为零或null,我们将忽略它。但是,如果otherID包含列表中另一个项目的ID,我想从列表中删除该项目。

例子:

item1.ID = 5, item1.otherID = null
item2.ID = 6, item2.otherID = 5
item3.ID = 7, item3.otherID = null

所以应该从列表中删除item1,因为它的ID存在于item2的otherID字段中

有人知道我会怎么写吗?

最佳答案

像这样:

list.RemoveAll(r => list.Any(o => o != r && r.ID == o.otherID));

关于c# - 如何从List <object>中删除object.variable在任何其他object.variable2中至少存在一次的所有对象?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4037634/

10-11 15:59