Скажем, у меня две строки: a и b. Чтобы сравнить, имеют ли значения a и имеют одинаковые значения, когда случай игнорируется, я всегда использовал:
// (Assume a and b have been verified not to be null)
if (a.ToLower() == b.ToLower())
Однако, используя Reflector, я видел это несколько раз в .NET Framework:
// (arg three is ignoreCase)
if (string.Compare(a, b, true) == 0)
Я тестировал, что быстрее, а ToLower()
бить Compare()
каждый раз с использованием строк, которые я использовал.
Есть ли причина для Compare()
вместо ToLower()
? Что-то о другом CultureInfo
? Я почесываю голову.