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 に答える