如何从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));