using System;
class A
{
public static int X;
static A(){
X=B.Y+1;
}
}
class B
{
public static int Y=A.X+1;
static B(){}
static void Main(){
Console.WriteLine("X={0},Y={1}",A.X,B.Y);
}
}
结果 x=1,y=2
由于main函数在B里面,所以从B开始执行
最先执行 public static int Y = A.X + 1;
因为A不是静态类,所以先调用A的构造函数,X = B.Y +1;此时B.Y是0
所以A.X = 1; 再算Y就是1+1=2