なぜこのコードは無限の再帰に終わらないのだろうか。静的メンバーのデフォルト値への自動初期化に関連していると思いますが、誰かが「ステップバイステップ」で「a」が2の値を取得し、「b」が1の値を取得する方法を教えてもらえますか?
public class A
{
public static int a = B.b + 1;
}
public class B
{
public static int b = A.a + 1;
}
static void Main(string[] args)
{
Console.WriteLine("A.a={0}, B.b={1}", A.a, B.b); //A.a=2, B.b=1
Console.Read();
}