【问题标题】:bad compile constant value on dictinary string values字典字符串值中的错误编译器常量值
【发布时间】:2013-08-27 16:40:27
【问题描述】:

我正在尝试制作一个字典来从二进制转换为十六进制,这就是我所做的:

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')上给我“错误的编译常量值”,任何人都可以帮助我吗?

【问题讨论】:

  • 你用错了string quote,双引号不是单引号。

标签: c# winforms dictionary


【解决方案1】:

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'}
};

【讨论】:

  • 谢谢,这是选择的答案:)
【解决方案2】:

'.' 创建一个 character 文字。
字符只能是单个字符。

你想要一个带有双引号的 string 文字。

【讨论】:

    【解决方案3】:

    你倒置了 stringchar 引号。

    ' ' 定义了一个char" " 一个string

    您需要将{'0000', "0"}, 替换为{"0000", '0'},

    【讨论】:

      【解决方案4】:

      双引号:"" 用于包裹字符串。单引号:'' 用于字符。您的编译器错误意味着您在代码中将它们倒退了。你需要让你的代码看起来像这样:

      private Dictionary<string, char> binaryCharacterTohex = new Dictionary<string, char>
              {
                  {"0000", '0'},
                  {"0001", '1'},
                  //and so on
              };
      

      【讨论】:

        猜你喜欢
        • 2019-05-10
        • 2017-06-05
        • 1970-01-01
        • 2020-09-28
        • 2016-12-04
        • 1970-01-01
        • 2016-12-05
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多