为什么我们不能将常量变量定义为静态?

Bri*_*rij 2 c# vb.net

public static const string Var1 = "abc";//compile time error
public static readonly string Var2 = "def";
Run Code Online (Sandbox Code Playgroud)

为什么我们不能将常量定义为静态?

Llo*_*oyd 19

常量已经是静态的,因此这将是多余的,并在编译时解析.

例如:

const X = 5;
int a = X + X;
Run Code Online (Sandbox Code Playgroud)

基本上编译为:

int a = 5 + 5;
Run Code Online (Sandbox Code Playgroud)

有关详细信息,请参阅此处 - http://msdn.microsoft.com/en-us/library/ms173119(v=vs.80).aspx

  • 他们不会停止存在 - 他们仍然是班级的一部分,可以通过反思等找到. (5认同)