在C#里,String.Contains是大小寫敏感的,所以如果要在C#里用String.Contains來判斷一個string里是否包含一個某個關鍵字keyword,需要把這個string和這個keyword都轉成小寫再調用contains,效率較低。
比較好的一個方法是用String.Index()方法,然后通過StringComparison.OrdinalIgnoreCase指定查找過程忽略大小寫,代碼示例如下:
1 string title = "STRING"; 2 bool contains = title.IndexOf("string", StringComparison.OrdinalIgnoreCase) >= 0;
如果需要在項目里大量用到,可以考慮封裝成一個方法加到靜態工具類StringUtils.cs,或者直接寫一個String類的擴展
1 public static bool Contains(this string source, string toCheck, StringComparison comp) { 2 return source.IndexOf(toCheck, comp) >= 0; 3 }
