C# 让String.Contains忽略大小写

发布时间 2023-11-21 14:12:28作者: itjeff

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