gpt4 book ai didi

c# - A a =new A() 和 A a=null 的区别

转载 作者:太空狗 更新时间:2023-10-30 00:39:41 24 4
gpt4 key购买 nike

在 C# 中,

A a = new A();
A a = null;
A a;

这 3 条线在内存方面是如何工作的?

我知道第一行会在堆中创建内存,但是剩下的两行呢?

它是如何工作的,如果, 一个;是一个字段和局部变量。

最佳答案

  1. 创建 A 的新实例并将其分配给变量 a
  2. 什么都不做。它只是将 null 分配给引用 a。如果未使用 a,编译器可能会将其优化掉。
  3. 也什么都不做。它将恢复为 A a = default(A);,这与 2 相同,因为 default(A)null。对于方法变量,如果您不分配它,它将向您显示警告或错误。如果不使用,也可以优化掉这个。

关于c# - A a =new A() 和 A a=null 的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33732720/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com