如何从C#中的LinkedList中删除与给定条件匹配的元素?

时间:2020-03-06 14:43:19  来源:igfitidea点击:

我有一个LinkedList,其中Entry具有一个名为id的成员。我想从ID匹配搜索值的列表中删除条目。最好的方法是什么?我不想使用Remove(),因为Entry.Equals将比较其他成员,并且我只想在id上进行匹配。我希望做这样的事情:

entries.RemoveWhereTrue(e => e.id == searchId);

编辑:有人可以为我重新打开这个问题吗?它不是重复的,它应该与List类有关的问题也是重复的。 List.RemoveAll在List类中不起作用。

解决方案

只需使用Where扩展方法。我们将获得一个新列表(IIRC)。

list.Remove(list.First(e => e.id == searchId));

这是一个简单的解决方案:

list.Remove(list.First((node) => node.id == searchId));