一键多值声明字典
Posted
技术标签:
【中文标题】一键多值声明字典【英文标题】:Declare dictionary with one key multiple values 【发布时间】:2018-07-16 09:41:50 【问题描述】:C# 我正在使用像这样的字典:
var dict = new Dictionary<byte, Tuple<string, string>>();
Tuple<string, string> t = new Tuple<string, string>(label, unit);
我想将它声明为类的数据成员。但它说
上下文关键字“var”只能出现在局部变量声明或脚本代码中
我该如何解决这个问题?
【问题讨论】:
试试Dictionary<byte, Tuple<string, string>> dict = new Dictionary<byte, Tuple<string, string>>();
。在类字段声明中不能使用var
。
正如它所说,仅将 var 用作局部变量声明或在脚本代码中。除此之外,请使用类型本身。
您在类中或函数内将其声明为局部变量?如果在类中,变量不应该使用 var,你应该 Dictionary错误信息很清楚。不能使用var
声明类成员,只能用于局部变量。
对于类成员,您需要使用显式类型:
public class MyClass
Dictionary<byte, Tuple<string, string>> dict = new Dictionary<byte, Tuple<string, string>>();
// ...
【讨论】:
【参考方案2】:在 C# 中你不能使用 var 来声明类成员:
这里是实现此功能的技术问题。常见的 案例看起来很简单,但更难的案例(例如,字段引用 链或循环中的其他字段,包含匿名的表达式 类型)不是。
取自博文Why no var on fields?和post。
在这种情况下,您需要声明显式类型:
Dictionary<byte, Tuple<string, string>> dict = new Dictionary<byte, Tuple<string, string>>();
【讨论】:
以上是关于一键多值声明字典的主要内容,如果未能解决你的问题,请参考以下文章