0

在 C# 4.0 及更高版本中,在创建类的静态变量(即分配的内存)时(在任何可能的编译器中)是否(严格)定义?我可以确定在进入任何已创建实例的构造函数之前,已经分配了该类的静态变量吗?

请看下面的例子:

class X
{
static Vector2 v = new Vector2();

public X()
  {
  v.Set(1,1); // Can I be sure that memory for v is allocated here ? Always ??
  }
}

这被认为是良好的编程习惯吗?

4

1 回答 1

4

是的,您可以确定这一点。你可以参考这个链接。不过,我看不到以这种方式设置该向量的目的。也许您更喜欢静态构造函数,例如:

static X()
{
   v.Set(1, 1);
}
于 2013-01-15T00:21:02.273 回答