Ответ 1
Вот ответ в деталях. Турнирский тест (прочитайте раздел 3)
Как обсуждалось много и много люди, "я" на турецком языке ведут себя иначе, чем на большинстве языков. По стандарту Юникода наши нижний регистр "i" становится "İ" (U + 0130 "Письмо Латинской столицы я с точкой Выше" ), когда он перемещается в верхний регистр. Точно так же наш верхний регистр "I" становится "ı" (U + 0131 "Латинское маленькое письмо Dotless я" ), когда он переходит к в нижнем регистре.
Исправить: снова используйте порядковый номер (исходный байт) сравнения или инвариантной культуры для сравнений, если вам абсолютно не нужно культурно-языковая лингвистическая сравнения (которые дают заглавные буквы Я с точками в Турции)
И в соответствии с Microsoft вы даже не должны использовать Invariant... но Ordinal... (Новые рекомендации по использованию строк в Microsoft.NET 2.0)