用一个键声明多个值的字典

时间:2018-07-16 09:41:50

标签: c# dictionary var class-members

C# 我正在使用像这样的字典:

var dict = new Dictionary<byte, Tuple<string, string>>();           
Tuple<string, string> t = new Tuple<string, string>(label, unit);

我想将其声明为类的数据成员。但它说

  

上下文关键字“ var”只能出现在局部变量声明中或脚本代码中

我该如何解决?

2 个答案:

答案 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>>();