Я предполагаю, что вы турок или, по крайней мере, используете турецкий компьютер.
В турецком языке «i» преобразуется в «İ» в верхнем регистре.
При преобразовании необходимо использовать другую культуру, используя метод String.ToUpper
, который принимает объект CultureInfo
в качестве аргумента. Если вы используете en-US или en-GB, вы должны получить то, что хотите.
Фактически, пример на странице, на которую я ссылался, использует en-US и tr-TR (турецко-турецкий) для слова "индиго" в качестве примера различий.