2008-09-25 39 views
5

我有一個LinkedList,其中Entry有一個叫id的成員。我想從ID與搜索值匹配的列表中刪除條目。什麼是最好的方法來做到這一點?我不想使用Remove(),因爲Entry.Equals會比較其他成員,而我只想匹配id。我希望能做這樣的事情:如何從C#中的LinkedList中刪除與給定條件匹配的元素?

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

編輯:有人可以重新爲我打開這個問題嗎?它不是重複的 - 它應該是重複的問題是關於List類的問題。 List.RemoveAll不起作用 - 這是List類的一部分。

+0

這裏有一個答案,一個重複的問題 Slavo 2008-09-25 13:58:12

回答

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

看我的答案 - RemoveAll方法實際上接受謂詞作爲參數。 – Slavo 2008-09-25 14:23:46

+0

除LinkedList上沒有RemoveAll方法。 – 2008-09-25 14:25:38

1

只需使用Where擴展方法。你會得到一個新的列表(IIRC)。

2

這裏有一個簡單的解決方案:

list.Remove(list.First((node) => node.id == searchId)); 
相關問題