これに関連する非常に多くの複雑な質問を見た後、静的フィールドの初期化を行う次のコードについて説明を求めたいと思います。もう 1 つ知りたいことは、静的フィールドの初期化の要件です。どのシナリオで役立つでしょうか??
using System;
class Test
{
static void Main()
{
Console.WriteLine("{0} {1}", B.Y, A.X);
}
public static int F(string s)
{
Console.WriteLine(s);
return 1;
}
}
class A
{
static A()
{ }
public static int X = Test.F("Init A");
}
class B
{
static B()
{ }
public static int Y = Test.F("Init B");
}
出力:
初期B
初期化A
1 1
静的コンストラクターが存在しない場合、出力は異なる場合があります。その背後にある理論的根拠を理解できません.静的フィールドの初期化がこのフラグメントにもたらした違いは何ですか?. 誰か助けてください。私はc#の初心者です。