C# で大文字と小文字を区別せずに 2つの文字列を比較する

Muhammad Maisam Abbas 2024年2月16日
  1. C# の String.ToUpper() メソッドとの大文字と小文字を区別しない文字列の比較
  2. C# での String.ToLower() 関数との大文字と小文字を区別しない文字列の比較
  3. C# での String.Equals() 関数との大文字と小文字を区別しない文字列の比較
C# で大文字と小文字を区別せずに 2つの文字列を比較する

このチュートリアルでは、C# で大文字と小文字を区別しない 2つの文字列の比較を実行する方法について説明します。

C# の String.ToUpper() メソッドとの大文字と小文字を区別しない文字列の比較

大文字と小文字を無視して 2つの文字列変数を比較する場合は、両方の文字列を大文字に変換してから比較できます。String.ToUpper() メソッドは、文字列を大文字に変換します。次のコード例は、C# の String.ToUpper() メソッドを使用して、大文字と小文字を区別しない 2つの文字列変数の比較を実行する方法を示しています。

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

上記のコードでは、文字列変数 var1var2String.ToUpper() 関数を使用して大文字に変換し、結果の大文字の文字列を比較しました。

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

上記のコードでは、文字列変数 var1var2String.ToUpper() メソッドを使用して小文字に変換し、結果の小文字の文字列を比較しました。

C# での String.Equals() 関数との大文字と小文字を区別しない文字列の比較

上記の両方の方法は正常に機能しますが、それらを使用することには大きな欠点があります。C# で String.ToUpper() または String.ToLower() 関数を使用すると、一部の文字が英語で完全に異なる文字に変更されます。このエラーを排除するために、StringComparison.OrdinalIgnoreCase フィールドを String.Equals() 関数のパラメーターとして使用できます。String.Equals() 関数は、C# の 2つの文字列変数を比較するために使用されます。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

上記のコードでは、文字列変数 var1var2 の大文字と小文字を区別しない文字列比較を、パラメータが StringComparison.OrdinalIgnoreCase フィールドである String.Equals() 関数を使用して実行しました。

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