static的构造函数同时的函数会优先于全局构造函数的调用,但其只在第一次构造时调用
这种情况需要程序员注意
我用mono的编译器和 2003 /2005 的csc都测试过,结果是一样的
![]()
Code
using System;
namespace console1
{
class Class1
{
public static int Count = 0;
static Class1()//只执行一次
{
Count++;
Console.WriteLine("static here");
}
public Class1()
{
Count++;
Console.WriteLine("init here");
}
}
class test
{
static void Main(string[] args)
{
Class1 o1 = new Class1();
//Class1 o2 = new Class1(); //取消注释这一行试试
Console.WriteLine("count is : {0}",Class1.Count);
}
}
}