【问题标题】:Dictionary Constructor C#字典构造函数 C#
【发布时间】:2015-07-28 14:39:34
【问题描述】:

我在创建字典时遇到了这个问题,不知道会是什么。

Dictionary<string, string> cmd = new Dictionary<string, string>();
cmd.Add("RA0", "0");

我使用了这个以及微软和论坛的代码示例,我总是收到以下错误(原始错误消息是西班牙语,我为你翻译了)

错误 1 ​​令牌 '(' 对类、结构或 接口成员声明 D:\Empresa\Freelance\pic18f2550-usb\VirtualSwitches\VirtualSwitches\Form1.cs 19 16 VirtualSwitches

错误 2 'VirtualSwitches.Form1.cmd' 是 'field' 但它被用作 '类型' D:\Empresa\Freelance\pic18f2550-usb\VirtualSwitches\VirtualSwitches\Form1.cs 19 9 VirtualSwitches

【问题讨论】:

  • 我在您的代码中看不到任何错误。你能把你的错误信息翻译成英文吗?
  • 该代码是否在方法中?
  • Form 类内部
  • Form 类中的哪里?请发布完整代码。
  • 这些错误消息表明您放置此代码的位置或周围代码的结构存在问题。这段代码本身就可以了,如果它在方法体中的话。

标签: c# dictionary


【解决方案1】:

错误消息“cmd 是一个字段,但它像类型一样使用”告诉我您将 cmd 声明为类的成员。

您不能使用 Add 在声明中添加项目,除非声明位于方法内。

当您将字典声明为类的成员并希望向其中添加一些元素时,请使用 { + } 初始化器:

Dictionary<string, string> cmd = new Dictionary<string, string> {
    {"RA0", "0"}
};

【讨论】:

  • 不过,OP 的 Add 不在声明中。复制/粘贴这两行OP代码,运行成功。
  • @ThomasStringer 这绝对在方法之外,因为西班牙语中的错误说“一个字段就像一个类型一样使用”。当cmd.Add 在方法外使用时会发生这种情况。
  • 啊,明白了。有道理,现在,我看到了您的建议/答案。 +1!
猜你喜欢
  • 1970-01-01
  • 2016-03-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-22
  • 2014-05-27
相关资源
最近更新 更多