-1 c# constructor class
尝试编译此代码.为什么ctor工作3次?在输出之前添加断点并调试它.
private static void Main(string[] args)
{
Console.WriteLine(new A().a);
}
class A
{
public int a;
public A()
{
Console.WriteLine(GetHashCode());
}
}
Run Code Online (Sandbox Code Playgroud)
输出:

这是Visual Studio中调试设置的副作用.转到工具 - >选项,然后选择调试 - >常规.取消选中"启用属性评估和其他隐式函数调用".那么有和没有断点的行为将是一致的.
或者,您只需将main方法中的行更改为:
Console.WriteLine((new A()).a);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
75 次 |
| 最近记录: |