Как сделать String.Contains нечувствительным к регистру?
Как я могу сделать следующий регистр нечувствительным?
myString1.Contains("AbC")
Ответы
Ответ 1
Вы можете создать свой собственный метод расширения, чтобы сделать это:
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);
Ответ 2
Вы можете использовать:
if (myString1.IndexOf("AbC", StringComparison.OrdinalIgnoreCase) >=0) {
//...
}
Это работает с любой версией .NET.
Ответ 3
bool b = list.Contains("Hello", StringComparer.CurrentCultureIgnoreCase);
[EDIT] код расширения:
public static bool Contains(this string source, string cont
, StringComparison compare)
{
return source.IndexOf(cont, compare) >= 0;
}
Это может работать:)