簡體   English   中英

Linq 查詢以從 c# 列表中排除匹配字符串

[英]Linq query to exclude matching strings from c# list

我有一個充滿字符串的 C# 列表。

我想排除那些與特定模式匹配的項目,比如那些以“DST *”開頭的字符串

任何不以 DST 開頭的字符串,我都很樂意接受,但任何以 DST 開頭的字符串我都想從這個列表中刪除。

我看到 linq 有Contains() 但是我該如何做Contains()的逆操作?

你可以使用! 運算符反轉任何布爾值:

var filtered = listOfStrings.Where(x => !x.StartsWith("DST"));

任何以 DST 開頭的東西我都想從這個列表中刪除。

你不需要 LINQ 你也可以使用List<T>.RemoveAll

listOfStrings.RemoveAll(s => s.StartsWith("DST"));

但是,這當然會修改原始列表並且不會創建新列表。 如果需要,請使用Somebody的方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM