在方法之外使用var

Jam*_*xon 17 .net c# var

我想使用var关键字在我的类中声明一个字段,但var似乎只在方法内部工作.

我的代码看起来像:

public static Dictionary<string, string> CommandList = new Dictionary<string, string>{};
Run Code Online (Sandbox Code Playgroud)

我想要:

public static var CommandList = new Dictionary<string, string>
Run Code Online (Sandbox Code Playgroud)

怎么这不可能?

Eri*_*ert 31

我关于这个主题的文章:

为什么字段上没有var?

总结一下:

  1. 如果我们有"var"字段,那么在分析表达式之前无法确定字段的类型,并且在我们已经需要知道字段的类型之后发生这种情况.

  2. 如果那些引用中有长链,甚至是循环,该怎么办?所有这些算法都必须重写,并在被确定顶层类型信息世界测试他们,而不是被消耗他们.

  3. 如果您有"var"字段,则初始化程序可以是匿名类型.假设该字段是公开的.CLR或CLS中还没有关于公开匿名类型字段的正确方法的标准.

  • 那篇文章很好.非常深入地了解如何以及为何. (3认同)

Rob*_*ine 6

来自C#参考

  • 从Visual C#3.0开始,在方法范围声明的变量 可以具有隐式类型var.

也来自C#编程参考

  • var只能在同一语句中声明和初始化局部变量时使用; 该变量不能初始化为null,也不能初始化为方法组或匿名函数.
  • var不能在类范围的字段上使用.

它只是用于您的用途.

它的主要目的是允许在代码中支持匿名类型,并具有允许一种指定局部变量的简洁方法的附加优势.