在 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