Свитч раскладки клавиатуры с латиницы на русскую раскладку. Как?
1. Добавлять/отнимать смещение до символов другого языка в кодировке.
Плюсы: намного меньше строк кода.
Минусы: придется делать костыли для спец. символов; искать начало и конец букв в кодировке.
2. Объявить словарь и заполнить его соответствиями символов в разных языках. В цикле сделать проход по словарю.
Плюсы: код функции будет меньше; с какой-то стороны так даже правильнее, чем огромный switch.
Минусы: все равно нужно объявлять каждую строку словаря.
Каждый символ это число, в ANSI кодировке до 255, в Unicode - больше.
Поэтому создаете массив и в него с нужным смещением записываете ваши новые значения.
В итоге будет:var ch = charArray[(short)text[i]];
Для Unicode чтобы не делать большой массив, можно предусмотреть сдвиг.var index = (short)text[i];
var ch = charArray[index - offset];