String.CompareメソッドやString.Equalsメソッドなどをはじめとして、.NET Frameworkでは文字列比較の際に比較オプションを指定することでその動作を変更することができます。
一例として、大文字と小文字の違いを無視して2つの文字列が等しいかどうか比較したい場合は次のようにします。
StringComparisonを指定して大文字と小文字の違いを無視して文字列比較を行うようにする
using System;
class Sample {
static void Main()
{
var s1 = "foo";
var s2 = "FOO";
// 通常の文字列比較
// (s1とs2は等しくないと判断される)
Console.WriteLine(String.Equals(s1, s2));
// 大文字小文字の違いを無視して文字列を比較する
// (s1とs2は等しいと判断される)
Console.WriteLine(String.Equals(s1, s2, StringComparison.InvariantCultureIgnoreCase));
}
}
実行結果
False True
上記の例ではStringComparison列挙型で文字列の比較オプションを指定しています。