关于C#中执行顺序的问题。
											 程序代码:
程序代码:namespace VirtualDemo
{
    class Program
    {
        static void Main(string[] args)
        {
            B a = new B();
            Console.ReadKey();
        }
    }
    public class A
    {
        public A()
        {
            PrintFields();
        }
        public virtual void PrintFields()
        {
        }
    }
    public class B : A
    {
        int x = 1;
        int y;
        public B()
        {
            y = -1;
        }
        public override void PrintFields()
        {
            Console.WriteLine("x={0},y={1}", x, y);
        }
    }
}
这个输出结果是:x=1,y=0
请问是怎么得出来的???

 
											





