比較時如何讓String.Contains比較忽略大小寫
在C#里,String.Contains是大小寫敏感的,在比較是否包含某個關鍵字的時候需要先轉成小寫的再去比較,這樣會效率低。
解決辦法
通過String.IndexOf()方法,然后通過StringComparison.OrdinalIgnoreCase指定查找過程忽略大小寫,代碼如下:
string title = "STRING";
bool contains = title.IndexOf("string", StringComparison.OrdinalIgnoreCase) >= 0;
如果需要在項目里大量用到,可以考慮封裝成一個方法加到靜態工具類StringUtils.cs,或者直接寫一個String類的擴展
public static bool Contains(this string source, string toCheck, StringComparison comp) {
return source.IndexOf(toCheck, comp) >= 0;
}
