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