public classA
{
    public static intX;
    staticA()
    {
        X = B.Y + 1;
    }
}


public classB
{
    public static intY = A.X + 1;
    staticB()
    { }
}

 

对于

static void Main(string[] args)
{
    Console.WriteLine("X={0},Y={1}", A.X, B.Y);
    Console.Read();
}

看Main函数放在哪里了。如果放在B中,则X=1,Y=2;如果放在A中,或放在A、B之外的另一个类中,则X=2,Y=1