为什么程序不以main方法开头

时间:2012-04-26 08:03:22

标签: c# static instance main

class Program
    {
        static void Main()
        {           
            Console.WriteLine("enter main method");
            Console.WriteLine(Foo.X);
            Console.ReadKey();
        }
    }
    class Foo
    {
        public static Foo Instance = new Foo();
        public static int X = 3;
        //static Foo()
        //{
        //    Console.WriteLine("static constructor");
        //    Console.WriteLine(X);
        //}
        Foo()
        {
            Console.WriteLine("instance constructor");
        }
    }

为什么程序以Foo中的代码开头,之后,main方法开始执行。

结果是:

实例构造函数 输入主要方法 3

任何人都可以提供帮助吗?

1 个答案:

答案 0 :(得分:1)

Foo有一个名为Instance的静态变量。

在执行Main之前初始化此静态变量,这会导致调用构造函数Foo()