C# 我正在使用像这样的字典:
var dict = new Dictionary<byte, Tuple<string, string>>();
Tuple<string, string> t = new Tuple<string, string>(label, unit);
我想将其声明为类的数据成员。但它说
上下文关键字“ var”只能出现在局部变量声明中或脚本代码中
我该如何解决?
答案 0 :(得分:3)
错误消息很清楚。您不能仅使用局部变量来使用var
声明类成员。
对于类成员,您需要使用显式类型:
public class MyClass
{
Dictionary<byte, Tuple<string, string>> dict = new Dictionary<byte, Tuple<string, string>>();
// ...
}
答案 1 :(得分:3)
在C#中,您不能使用var声明类成员:
以下是实现此功能的技术问题。共同点 情况看似简单,但情况更糟(例如,字段引用 链或周期中的其他字段,包含匿名的表达式 类型)。
摘自博客文章Why no var on fields?和本post。
在这种情况下,您需要声明显式类型:
Dictionary<byte, Tuple<string, string>> dict = new Dictionary<byte, Tuple<string, string>>();