首页 >后端开发 >C++ >如何执行不敏感的字符串包含C#中的检查?

如何执行不敏感的字符串包含C#中的检查?

Susan Sarandon
Susan Sarandon原创
2025-02-02 19:02:11328浏览

How to Perform a Case-Insensitive String Contains Check in C#?

C#中不区分大小写的字符串比较

C#中的String.Contains方法用于检查一个字符串是否包含另一个字符串,但默认情况下它是区分大小写的。要执行不区分大小写的比较,您可以使用以下方法:

1. 使用String.IndexOfStringComparison

使用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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn