Главное, что вас должно беспокоить, это не производительность, а правильность, и с этой точки зрения метод, который вы вероятно хотите использовать для сравнения без учета регистра, является либо:
string.Compare(a, b, StringComparison.OrdinalIgnoreCase) == 0;
или
a.Equals(b, StringComparison.OrdinalIgnoreCase)
(Первый вариант полезен, если вы знаете, что строки могут быть нулевыми; последний проще написать, если вы уже знаете, что хотя бы одна строка ненулевая. Я никогда не проверял производительность, но предполагаю, что она будет похоже.)
Ordinal
или OrdinalIgnoreCase
- безопасная ставка, если вы не знаете, что хотите использовать другой метод сравнения; Чтобы получить информацию, необходимую для принятия решения , прочтите эту статью на MSDN .