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, ')'}
};
TKeyが数値(0〜9)で、値が記号になる辞書を作成します。
私はそれをこのようにします:
char[] map = new char[] { '!', '@', ... };
取得するには:map[c - '0']
入力範囲を確認することを忘れないでください。