Быстрый и грязный эквивалент ChrW
в C # просто приводит значение char
:
char MyKeyChr = (char)e.KeyCode;
Более длинная и выразительная версия - вместо этого использовать один из классов преобразования, например System.Text.ASCIIEncoding
.
Или вы даже можете использовать фактическую функцию VB.NET в C #, импортировав пространство имен Microsoft.VisualBasic
. Это действительно необходимо, только если вы полагаетесь на некоторые специальные проверки, выполняемые методом ChrW
под капотом, на которые вы, вероятно, не должны рассчитывать в любом случае. Этот код будет выглядеть примерно так:
char MyKeyChr = Microsoft.VisualBasic.Strings.ChrW(e.KeyCode);
Однако в этом случае не гарантируется, что вы получите именно то, что вам нужно (и ни один из них не был оригинальным кодом). Не все значения в перечислении Keys
являются значениями ASCII, поэтому не все они могут быть непосредственно преобразованы в символ. В частности, кастинг Keys.NumPad1
эт. и др. char
не даст правильное значение.