C#中不区分大小写的字符串比较
C#中的String.Contains
方法用于检查一个字符串是否包含另一个字符串,但默认情况下它是区分大小写的。要执行不区分大小写的比较,您可以使用以下方法:
1. 使用String.IndexOf
和StringComparison
使用String.IndexOf
方法和StringComparison.OrdinalIgnoreCase
可以忽略搜索过程中的大小写:
<code class="language-csharp">string title = "STRING"; bool contains = title.IndexOf("string", StringComparison.OrdinalIgnoreCase) >= 0;</code>
2. 创建自定义扩展方法
另一种方法是为字符串创建一个自定义扩展方法,以提供所需的行为:
<code class="language-csharp">public static class StringExtensions { public static bool Contains(this string source, string toCheck, StringComparison comp) { return source?.IndexOf(toCheck, comp) >= 0; } }</code>
使用方法:
<code class="language-csharp">string title = "STRING"; bool contains = title.Contains("string", StringComparison.OrdinalIgnoreCase);</code>
注意:
对于不支持空值传播运算符(?.)的旧版C#,请使用以下代码:
<code class="language-csharp">if (source == null) return false; return source.IndexOf(toCheck, comp) >= 0;</code>
以上是如何执行不敏感的字符串包含C#中的检查?的详细内容。更多信息请关注PHP中文网其他相关文章!