В большинстве случаев я хочу делать сравнения строк, я хочу, чтобы они были нечувствительны к регистру.
Итак, почему строки в .net по умолчанию чувствительны к регистру?
EDIT 1: Чтобы было ясно, я думаю, что приведенное ниже должно возвращать true по умолчанию. Или, по крайней мере, позвольте мне иметь флаг времени компиляции, который делает это так.
"John Smith" == "JOHN SMITH"
РЕДАКТИРОВАТЬ 2: я могу привести множество других примеров того, что должно быть нечувствительным к регистру.
Примеры вещей, которые должны быть нечувствительны к регистру
- Имена пользователей
- URL-адреса
- Расширения файлов/Имена файлов/Имена каталогов/Пути
- Имена машин/серверов
- Штат/страна/местоположение и т. д.
- Имя / Фамилия / Инициалы
- Руководства
- Названия месяца/дня
Примеры вещей, которые должны быть чувствительны к регистру
- Пароли
ß
сравнивается в равной степени сss
, что не обязательно всегда предполагается. - person Joey   schedule 14.12.2010"John Smith" == "JOHN SMITH"
должно возвращать true, указывает на ваше несогласие. Ваша готовность использовать переплетение IL, чтобы ниспровергнуть языковое решение, свидетельствует о пренебрежении. Эти свойства вопроса, как правило, приводят к субъективным и аргументированным ответам. Я понимаю, вы спрашиваете о том, почему было принято решение, но ваш подход перегружен вашим мнением. - person Bryan Watts   schedule 14.12.2010