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
任何人都可以提供帮助吗?
答案 0 :(得分:1)
Foo有一个名为Instance的静态变量。
在执行Main之前初始化此静态变量,这会导致调用构造函数Foo()