在 C# 中忽略大小写来比较两个字符串

Muhammad Maisam Abbas 2023年1月30日 2021年4月29日
  1. 使用 C# 中的 String.ToUpper() 方法区分大小写的字符串
  2. 用 C# 中的 String.ToLower() 函数进行不区分大小写的字符串比较
  3. 使用 C# 中的 String.Equals() 函数区分大小写的字符串比较
在 C# 中忽略大小写来比较两个字符串

本教程将讨论在 C# 中对 2 个字符串进行不区分大小写的比较的方法。

使用 C# 中的 String.ToUpper() 方法区分大小写的字符串

如果要通过忽略大小写来比较两个字符串变量,则可以将两个字符串都转换为大写字符,然后进行比较。String.ToUpper() 方法将字符串转换为大写字符。以下代码示例向我们展示了如何使用 C# 中的 String.ToUpper() 方法对两个字符串变量进行不区分大小写的比较。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ignore_case_string_comparison
{
    class Program
    {
        static void Main(string[] args)
        {
            string var1 = "String";
            string var2 = "string";
            if(var1.ToUpper() == var2.ToUpper())
            {
                Console.WriteLine("Strings are equal");
            }
        }
    }
}

输出:

Strings are equal

在上面的代码中,我们使用 String.ToUpper() 函数将字符串变量 var1var2 转换为大写字符,然后比较了生成的大写字符串。

用 C# 中的 String.ToLower() 函数进行不区分大小写的字符串比较

我们还可以通过不区分大小写的字符串比较,首先将两个字符串变量都转换为小写字符,然后进行比较。String.ToLower() 函数用于将字符串转换为小写字符。以下代码示例向我们展示了如何使用 C# 中的 String.ToLower() 函数进行不区分大小写的字符串比较。

using System;

namespace ignore_case_string_comparison
{
    class Program
    {
        static void Main(string[] args)
        {
            string var1 = "String";
            string var2 = "string";
            if (var1.ToLower() == var2.ToLower())
            {
                Console.WriteLine("Strings are equal");
            }
        }
    }
}

输出:

Strings are equal

在上面的代码中,我们使用 String.ToUpper() 方法将字符串变量 var1var2 转换为小写字符,然后比较了所得的小写字符串。

使用 C# 中的 String.Equals() 函数区分大小写的字符串比较

上面讨论的两种方法都可以正常工作,但是使用它们有一个很大的缺点。如果我们在 C# 中使用 String.ToUpper()String.ToLower() 函数,则某些字母将变为英语中完全不同的字母。要消除此错误,我们可以将 StringComparison.OrdinalIgnoreCase 字段用作 String.Equals() 函数的参数。String.Equals() 函数用于比较 C# 中的两个字符串变量。如果字符串相等,String.Equals() 函数将返回 true,如果字符串不相等,则返回 false。以下代码示例向我们展示了如何使用 C# 中的 String.Equals() 函数进行不区分大小写的字符串比较。

using System;

namespace ignore_case_string_comparison
{
    class Program
    {
        static void Main(string[] args)
        {
            string var1 = "String";
            string var2 = "string";
            if (var1.Equals(var2, StringComparison.OrdinalIgnoreCase))
            {
                Console.WriteLine("Strings are equal");
            }
        }
    }
}

输出:

Strings are equal

在上面的代码中,我们使用 String.Equals() 函数和 StringComparison.OrdinalIgnoreCase 字段作为 String.Equals() 函数的参数,对字符串变量 var1var2 进行了不分大小写的字符串比较。

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn

相关文章 - Csharp String