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 ??
}
}
這被認爲是良好的編程習慣?
@spender感謝您使用文檔的更新版本編輯我的文章,我應該已經檢查過。 – Mir
+1尤其值得注意的是,在實例構造函數中設置靜態字段很可能會引起麻煩。我還會注意到,'Set'方法暗示了一個可變結構,這也是一個麻煩。 – phoog