在 C# 中,
A a = new A();
A a = null;
A a;
这 3 条线在内存方面是如何工作的?
我知道第一行会在堆中创建内存,但是剩下的两行呢?
它是如何工作的,如果, 一个; 是一个字段和局部变量。
最佳答案
- 创建
A
的新实例并将其分配给变量a
。 - 什么都不做。它只是将
null
分配给引用a
。如果未使用a
,编译器可能会将其优化掉。 - 也什么都不做。它将恢复为
A a = default(A);
,这与 2 相同,因为default(A)
为null
。对于方法变量,如果您不分配它,它将向您显示警告或错误。如果不使用,也可以优化掉这个。
关于c# - A a =new A() 和 A a=null 的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33732720/