[英]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.