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

时间:2008-09-25 13:55:49

标签: c# .net data-structures

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

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

编辑:有人可以为我重新打开这个问题吗?这不是重复 - 它应该是重复的问题是关于List类。 List.RemoveAll将不起作用 - 这是List类的一部分。

3 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:2)

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

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

答案 2 :(得分:1)

只需使用Where扩展方法即可。您将获得一份新名单(IIRC)。