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

本文关键字:全局变量 var 是否 | 更新日期: 2023-09-27 17:56:19

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

public static int;

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

public static var;

似乎不起作用。

所以我要问的是,是否可以在 c# 中将"var"作为全局变量?

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

C# 规范(第 26.1 节)如下:

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

它更进一步:

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

  • 声明符必须包含初始值设定项。
  • 初始值设定项必须是表达式。
  • 初始值设定项表达式必须具有不能为空类型。
  • 局部变量声明不能包含多个声明符。
  • 初始值设定项不能引用声明的变量本身

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

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

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

var num = 1;

与以下相同:

int num = 1;

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

public static int num = 1;

public static int Num {get;set;}