web-dev-qa-db-ja.com

String.Containsで大文字と小文字を区別しないようにする方法は?

次の大文字と小文字を区別しないようにするにはどうすればよいですか?

myString1.Contains("AbC")
69
CJ7

これを行う独自の拡張メソッドを作成できます。

public static bool Contains(this string source, string toCheck, StringComparison comp)
  {
    return source != null && toCheck != null && source.IndexOf(toCheck, comp) >= 0;
  }

そして呼び出します:

 mystring.Contains(myStringToCheck, StringComparison.OrdinalIgnoreCase);
129
Tobia Zambon

次を使用できます。

if (myString1.IndexOf("AbC", StringComparison.OrdinalIgnoreCase) >=0) {
    //...
}

これは、どの.NETバージョンでも機能します。

43
joe
bool b = list.Contains("Hello", StringComparer.CurrentCultureIgnoreCase);

[編集]拡張コード:

public static bool Contains(this string source, string cont
                                                    , StringComparison compare)
{
    return source.IndexOf(cont, compare) >= 0;
}

これは動作する可能性があります:)

10
wudzik