ホームページ > バックエンド開発 > C++ > C# では静的変数はどのように初期化されますか?

C# では静的変数はどのように初期化されますか?

Barbara Streisand
リリース: 2025-01-03 18:05:41
オリジナル
692 人が閲覧しました

How are Static Variables Initialized in C#?

C# での静的変数の初期化

C# では、静的コンストラクターと beforefieldinit フラグの存在に応じて、静的変数の初期化方法が異なります。 .

静的を使用しない初期化Constructor

クラス内に静的コンストラクターが定義されていない場合、静的変数は次のように初期化されます。

  • 型がメモリにロードされるとき。
  • Beforeすべてのインスタンス コンストラクターが呼び出されます。
  • 積極的に、つまり値が割り当てられます。

静的コンストラクターによる初期化

静的コンストラクターが存在する場合:

  • beforefieldinit フラグ:

    • false: 静的変数静的コンストラクターが呼び出される前に初期化されます。
    • true: 静的変数は、最初にアクセスされたときに遅延して初期化されます。
  • .NET 4 以前: beforefieldinit のデフォルトは次のとおりです。 false。熱心な初期化が行われます。
  • .NET 4.5 以降: beforefieldinitデフォルトは true で、遅延初期化が行われます。

結論

C# での静的変数の初期化は、静的コンストラクターの存在と、 beforefieldinit フラグ。適切な初期化を確保するには、特定の動作に依存せず、単純に通常のコードを使用して静的フィールドにアクセスすることをお勧めします。

以上がC# では静的変数はどのように初期化されますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート