При нажатии клавиши в английской раскладке, выводить русское значение клавиши - C#
Формулировка задачи:
Требуется чтобы при нажатии клавиши в английской раскладке, выводилось Русское значение клавиши. Например q это й. По возможности с учетом регистра.
Решение задачи: «При нажатии клавиши в английской раскладке, выводить русское значение клавиши»
textual
Листинг программы
using System; using System.Linq; using System.Text; using System.Collections; using System.Globalization; internal sealed class Program { static void Main() { Int32 n = 0; String s; StringBuilder sb = new StringBuilder(); Hashtable ht = new Hashtable(); Char[] ru = "ФИСВУАПРШОЛДЬТЩЗЙКЫЕГМЦЧНЯ".ToCharArray(); Enumerable .Range(65, 26) .Select(i => (Char)i) .ToList() .ForEach(i => { ht.Add(i, ru[n]); n++; }); ht.Add('<', 'Б'); ht.Add(',', 'б'); ht.Add(':', 'Ж'); ht.Add(';', 'ж'); ht.Add('"', 'Э'); ht.Add('\'', 'э'); ht.Add('>', 'Ю'); ht.Add('.', 'ю'); Console.Write("Введите слово (например, \"ktrnhbr): "); s = Console.ReadLine(); if (String.IsNullOrEmpty(s)) return; s.ToCharArray().ToList().ForEach(i => { Char c = Char.IsLower(i) ? Char.ToUpper(i, CultureInfo.InvariantCulture) : i; sb.Append(Char.IsLower(i) ? Char.ToLower((Char)ht[c], CultureInfo.InvariantCulture) : ht[c]); }); Console.WriteLine(sb.ToString()); } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д