【问题标题】:why the program doesn't begin with main method为什么程序不以 main 方法开头
【发布时间】:2012-05-06 22:47:15
【问题描述】:
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

有人可以帮忙吗?

【问题讨论】:

  • 请添加适当的语言标签 (java ?)。

标签: c# static instance main


【解决方案1】:

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

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

【讨论】:

  • 感谢您的快速回复!我不清楚顺序或执行,如果我在 Foo 中有一个静态构造函数,为什么执行从 main 方法开始?
猜你喜欢
  • 2011-07-10
  • 1970-01-01
  • 2015-09-19
  • 1970-01-01
  • 2010-10-30
  • 1970-01-01
  • 2022-08-22
  • 2013-12-13
  • 1970-01-01
相关资源
最近更新 更多