比较时如何让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;
}