String.Compare・Equalsメソッドで大文字小文字の違いを無視する 言語: C# VB CompareToメソッド、Compareメソッド、Equalsメソッドでは、文字列比較時の動作をStringComparisonで指定することができます。 例えば、大文字小文字の違いを無視して文字列の比較を行うことができます。 String.Compare・Equalsメソッドで大文字小文字の違いを無視する すべて選択してコピー ダウンロード 行番号を表示する using System; class Sample { static void Main() { var s1 = "Bar"; var s2 = "bar"; var s3 = "BAR"; Console.WriteLine("Compare({0}, {1}) : {2}", s1, s2, String.Compare(s1, s2, StringComparison.InvariantCulture)); // 大文字小文字の違いを無視しない Console.WriteLine("Compare({0}, {1}) : {2}", s1, s2, String.Compare(s1, s2, StringComparison.InvariantCultureIgnoreCase)); // 大文字小文字の違いを無視する Console.WriteLine("Compare({0}, {1}) : {2}", s1, s3, String.Compare(s1, s3, StringComparison.InvariantCulture)); Console.WriteLine("Compare({0}, {1}) : {2}", s1, s3, String.Compare(s1, s3, StringComparison.InvariantCultureIgnoreCase)); Console.WriteLine("Equals({0}, {1}) : {2}", s1, s2, String.Equals(s1, s2, StringComparison.InvariantCulture)); Console.WriteLine("Equals({0}, {1}) : {2}", s1, s2, String.Equals(s1, s2, StringComparison.InvariantCultureIgnoreCase)); Console.WriteLine("Equals({0}, {1}) : {2}", s1, s3, String.Equals(s1, s3, StringComparison.InvariantCulture)); Console.WriteLine("Equals({0}, {1}) : {2}", s1, s3, String.Equals(s1, s3, StringComparison.InvariantCultureIgnoreCase)); } } 実行結果 Compare(Bar, bar) : 1 Compare(Bar, bar) : 0 Compare(Bar, BAR) : -1 Compare(Bar, BAR) : 0 Equals(Bar, bar) : False Equals(Bar, bar) : True Equals(Bar, BAR) : False Equals(Bar, BAR) : True 文字列比較時のオプションStringComparisonについては文字列と比較オプション・カルチャの並べ替え規則 §.StringComparison列挙型とStringComparerクラスで詳しく説明しています。 関連するページ String.CompareTo・Equalsメソッドで別の文字列との大小関係・等価関係の比較を行う String.Compare・Equalsメソッドで2つの文字列の大小関係・等価関係の比較を行う Stringクラスのインスタンスメソッド・静的メソッドの比較 String.CompareOrdinalメソッドでコードポイントによって文字列を比較する 等価演算子・不等価演算子を使って文字列同士を比較する 等価演算子・不等価演算子・Equalsメソッドでの文字列と他の型との比較