是否可以将“var”作为全局变量
我注意到c#中的全局变量还有其他线程。 例如整数,字符串等
public static int;
但我需要使用另一个线程没有提及的“var”
public static var;
似乎没有用。
所以我要问的是在c#中有一个“var”作为全局变量吗?
C#规范 (第26.1节)内容如下:
[`var is]一个隐式类型的局部变量声明……
它更进一步:
隐式类型的局部变量声明中的局部变量声明符受以下限制:
- 声明者必须包含初始化程序。
- 初始化程序必须是表达式。
- 初始化表达式必须具有不能为null类型的编译时类型。
- 局部变量声明不能包含多个声明符。
- 初始值设定项不能引用声明的变量本身
所以不,你不能这样做。 此外,我建议不要考虑全局变量。
语言不支持全局变量。 您可以在public static
字段中找到替代方法,但这会泄漏对象状态并破坏封装。
不,因为var本身不是一个类型,它只是采用赋值右侧的任何表达式的forms:
var num = 1;
是相同的:
int num = 1;
在声明作用于方法之外的变量时,需要使用完整类型指示符:
public static int num = 1;
要么
public static int Num {get;set;}
等等