using System;
class A //定义类A
{
public static int X;
static A()
{
X = B.Y + 1;
Console.WriteLine("B.Y={0}",B.Y); //B.Y=0
}
}//定义类B
class B
{
public static int Y = A.X + 1;
static B() { }
static void Main()
{
Console.WriteLine("X={0},Y={1}", A.X, B.Y);//2,1
}
}
//为什么输出是x=1,y=2,请解释一下程序的运行过程!
class A //定义类A
{
public static int X;
static A()
{
X = B.Y + 1;
Console.WriteLine("B.Y={0}",B.Y); //B.Y=0
}
}//定义类B
class B
{
public static int Y = A.X + 1;
static B() { }
static void Main()
{
Console.WriteLine("X={0},Y={1}", A.X, B.Y);//2,1
}
}
//为什么输出是x=1,y=2,请解释一下程序的运行过程!
自己设个断点,就清楚流程了.
ps:贴发错地方了哦!