静态变量声明的定时

本文关键字:定时 声明 变量 静态 | 更新日期: 2023-09-27 17:52:58

在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 ??
  }
}

这被认为是良好的编程实践吗?

静态变量声明的定时

是的,你可以肯定。你可以参考这个链接。我不明白这样设置向量的目的。也许您更喜欢静态构造函数,例如:

static X()
{
   v.Set(1, 1);
}