3

StringComparison しか見つかりませんでしたが、Contains では機能しません。もう 1 つの必要なことは、大文字と小文字を区別しないことです。「ä」は「a」と等しくなければなりません。

4

3 に答える 3

6

内部string.Containsで string.IndexOf を使用して を渡しますStringComparison.Ordinal
したがって、Contains の同じ実装を使用するメソッドを簡単に作成できると思います。

public bool CaseContains(string baseString, string textToSearch, StringComparison comparisonMode)
{
    return (baseString.IndexOf(textToSearch, comparisonMode) != -1);
}

と呼び出す

if(CaseContains(myString, mySearch, StringComparison.CurrentCultureIgnoreCase))
  ....

このアプローチの洗練された進化は、拡張メソッドを作成することです

public static class StringExtensions
{
    public static bool CaseContains(this string baseString, string textToSearch, StringComparison comparisonMode)
    {
        return (baseString.IndexOf(textToSearch, comparisonMode) != -1);
    }
}

と呼び出す

if(myString.CaseContains(mySearch, StringComparison.CurrentCultureIgnoreCase))
   .....
于 2013-04-26T22:41:31.550 に答える