首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

关于静态成员与静态方法的有关问题

2012-02-22 
关于静态成员与静态方法的问题classA{publicstaticintXstaticA(){XB.Y+1}}classB{publicstaticintYA.X

关于静态成员与静态方法的问题
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
为什么?

[解决办法]
你单步调试看看程序的执行顺序就明白了

简单地说,因为我们先用到类B,所以执行了public static int Y = A.X + 1;,着时候才用到类A,所以执行 X = B.Y + 1;这时候的B.Y是编译器赋予的初值0,所以X=1;,所以Y=2

热点排行