日期:2014-05-18  浏览次数:21003 次

哪位给我讲解一下这段代码运行后的结果。。。
C# code
using System;

class Class1
{
    public static int Count = 0;
    static Class1()
    {
        Count++;
    }
    public Class1()
    {
        Count++;
    }
}

public class B
{
    public static void Main()
    {
        Class1 O1 = new Class1();
        Class1 O2 = new Class1();
        Console.WriteLine(Class1.Count);
    }
}


------解决方案--------------------
3
静态构造函数执行1次,构造函数执行2次。
------解决方案--------------------
静态构造函数是属于类的,而不属于任何一个实例,所以这个构造函数只会被执行一次,而且是在创建此类的第一个实例或引用任何静态成员之前,由.NET自动调用。 

百度的
------解决方案--------------------
3,第一次new会调用static和非statci构造各一次,此时为2,
第二次new,只会调用非static构造,加1为3