除了使用 case 语句之外,是否有更简单的方法将数字转换为 C# 中等效的键盘 Shift+[n]?假设使用标准英语键盘。
9=(
8=*
7=&
6=^
5=%
4=$
3=#
2=@
1=!
0=)
我不知道语言中内置的方法。
除了使用 case 语句之外,是否有更简单的方法将数字转换为 C# 中等效的键盘 Shift+[n]?假设使用标准英语键盘。
9=(
8=*
7=&
6=^
5=%
4=$
3=#
2=@
1=!
0=)
我不知道语言中内置的方法。
正如评论中所建议的,您可以制作一个查找表,而不是使用switch
语句。使用初始化语法,编码量被最小化。
Dictionary<int, char> shiftLookup = new Dictionary<int, char>
{
{9, '('},
{8, '*'},
{7, '&'},
{6, '^'},
{5, '%'},
{4, '$'},
{3, '#'},
{2, '@'},
{1, '!'},
{0, ')'}
};
我会这样做:
char[] map = new char[] { '!', '@', ... };
得到一个:map[c - '0']
并且不要忘记检查输入范围。
创建一个字典,其中 TKey 将是一个数字 (0-9),而 value 将是一个符号。