将数字[n] 0-9转换为键盘Shift + [n]个字符

时间:2012-08-02 20:17:50

标签: c#

除了使用case语句之外,是否有更简单的方法将数字转换为键盘Shift + [n]等效于C#?假设使用标准英语键盘。

9=(
8=*
7=&
6=^
5=%
4=$
3=#
2=@
1=!
0=)

我不知道该语言内置了一种方法。

3 个答案:

答案 0 :(得分:3)

如评论中所述,您可以创建查找表,而不是使用switch语句。使用initializer syntax,编码量最小化。

Dictionary<int, char> shiftLookup = new Dictionary<int, char>
{
    {9, '('},
    {8, '*'},
    {7, '&'},
    {6, '^'},
    {5, '%'},
    {4, '$'},
    {3, '#'},
    {2, '@'},
    {1, '!'},
    {0, ')'}
};

答案 1 :(得分:2)

创建一个Dictionary,其中TKey为数字(0-9),而值为simbol。

答案 2 :(得分:2)

我会这样做:

char[] map = new char[] { '!', '@', ... };

获得一个:map[c - '0']并且不要忘记检查输入范围。