dictary字符串值的编译常量值不正确
本文关键字:常量 不正确 编译 字符串 dictary | 更新日期: 2023-09-27 18:29:08
我正在尝试制作一个字典,将二进制转换为十六进制,这就是我所做的:
private Dictionary<string, char> binaryCharacterTohex = new Dictionary<string, char>
{
{'0000', "0"},
{'0001', "1"},
{'0010', "2"},
{'0011', "3"},
{'0100', "4"},
{'0101', "5"},
{'0110', "6"},
{'0111', "7"},
{'1000', "8"},
{'1001', "9"},
{'1010', "a"},
{'1011', "b"},
{'1100', "c"},
{'1101', "d"},
{'1110', "e"},
{'1111', "f"}
};
但它总是在我放在那里的每一个二进制字符串值(XXXX)上给我"糟糕的编译常量值",有人能帮我吗?
C#中使用单引号表示字符,双引号表示字符串。你现在把它们倒过来了。把它们都关掉,它应该会起作用,就像这样:
private Dictionary<string, char> binaryCharacterTohex = new Dictionary<string, char>
{
{"0000", '0'},
{"0001", '1'},
{"0010", '2'},
{"0011", '3'},
{"0100", '4'},
{"0101", '5'},
{"0110", '6'},
{"0111", '7'},
{"1000", '8'},
{"1001", '9'},
{"1010", 'a'},
{"1011", 'b'},
{"1100", 'c'},
{"1101", 'd'},
{"1110", 'e'},
{"1111", 'f'}
};
'.'
创建一个字符文字
字符只能是单个字符。
您需要一个带有双引号的字符串文本。
您反转了string
和char
引号。
' '
定义char
," "
定义string
您需要用{"0000", '0'},
替换{'0000', "0"},
双引号:""
用于封装字符串。单引号:''
用于字符。你的编译器错误意味着你在代码中把它们倒过来了。你需要让你的代码看起来像这样:
private Dictionary<string, char> binaryCharacterTohex = new Dictionary<string, char>
{
{"0000", '0'},
{"0001", '1'},
//and so on
};