LINQ高效率移除List
LINQ在物件集合操作方面功能強大,本文探討如何根據特定條件從List
假設您要從作者清單中移除所有名為「Bob」的作者:
<code class="language-csharp">var authors = from x in authorsList where x.firstname == "Bob" select x;</code>
現在,您需要從原始'authorsList'集合中刪除這些作者。有幾種方法可以實現:
<code class="language-csharp">authorsList = authorsList.Where(x => x.FirstName != "Bob").ToList();</code>
此方法透過在初始查詢中排除名為「Bob」的作者來修改'authorsList'。
<code class="language-csharp">authorsList.RemoveAll(x => x.FirstName == "Bob);</code>
RemoveAll方法有效率地從'authorsList'集合中移除符合的元素。
如果移除運算需要基於另一個集合,可以使用HashSet:
<code class="language-csharp">var setToRemove = new HashSet<author>(authors); authorsList.RemoveAll(x => setToRemove.Contains(x));</code>
此方法建立一個包含要移除元素的HashSet,然後使用RemoveAll有效率地從'authorsList'中移除它們。
透過以上方法,您可以根據實際需求選擇最有效的方式從LINQ清單中移除元素。
以上是如何在 LINQ 中有效地從清單中刪除元素?的詳細內容。更多資訊請關注PHP中文網其他相關文章!