是否可以将“var”作为全局变量

时间:2013-01-28 22:47:41

标签: c#

我注意到c#中的全局变量还有其他线程。例如整数,字符串等,例如

public static int;

但我需要使用" var"另一个线程没有提到和

public static var;

似乎不起作用。

所以我要问的是有可能有一个" var"作为c#中的全局变量

2 个答案:

答案 0 :(得分:6)

不,因为var本身不是一个类型,它只是采用任务右侧的任何表达式的形式:

var num = 1;

与:

相同
int num = 1;

在声明作用于方法之外的变量时,需要使用完整类型指示符:

public static int num = 1;

public static int Num {get;set;}

答案 1 :(得分:6)

C# specification(第26.1节)内容如下:

  

[`var is]一个隐式类型的局部变量声明......

它更进一步:

  

隐式类型局部变量中的局部变量声明符   声明受以下限制:

     
      
  • 声明者必须包含初始化程序。
  •   
  • 初始值设定项必须是表达式。
  •   
  • 初始化表达式必须具有编译时类型,但不能   是null类型。
  •   
  • 本地变量声明不能包含   多个声明者。
  •   
  • 初始值设定项不能引用声明的变量本身
  •   

所以不,你不能这样做。此外,我建议不要考虑全局变量。

该语言不支持全局变量。您可以在public static字段中找到替代方案,但这会泄漏对象状态并破坏封装。