【发布时间】:2018-08-11 17:49:02
【问题描述】:
尝试编译这段代码。为什么ctor工作3次? 在输出前添加断点并调试。
private static void Main(string[] args)
{
Console.WriteLine(new A().a);
}
class A
{
public int a;
public A()
{
Console.WriteLine(GetHashCode());
}
}
输出:
【问题讨论】:
-
ctor work 3 times ?是什么意思?你得到什么输出,你期望什么输出? -
尝试编译一下就会看到
-
我得到
37489757和0作为输出。 -
我们在这里看到了整个程序吗?还有别的吗?
-
尝试在输出前加断点调试一下,你会看到
标签: c# class constructor