Reed_redd 2022-12-16 10:52 采纳率: 66.7%
浏览 49
已结题

关于#c##的问题:想询问一下C#中使用new来创建一个实例和直接声明一个实例的区别是什么

新手,刚刚接触C#。想询问一下C#中使用new来创建一个实例和直接声明一个实例的区别是什么?我四处查找了一下只看出来使用new的时候会在堆中开辟一块内存,直接声明时会在栈中储存。
除此之外的区别是什么?
  • 写回答

2条回答 默认 最新

  • 是wyy 2022-12-16 23:57
    关注

    声明一个对象引用的格式:类名 对象名;
    声明语句中的对象名作为一个引用类型变量,存储的并不是实际对象,存储的是实际对象在内存中的地址,此时真正的对象并没有被创建,对象名的值为null。未指向内存中的任何地址。如代码声明一个Reader类的对象引用Tom:Reader Tom;还需要使用new来创建对象,通过赋值语句将之前声明的对象Tom与创建的这个对象建立关联,通常说让对象引用Tom指向新对象:Tom=new Reader();
    一般,同时声明对象引用和创建对象:类名 对象名=new 类名(); 如Reader Tom=new Reader();
    只声明对象不创建,在访问对象成员时为null会引发异常。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 12月27日
  • 已采纳回答 12月19日
  • 创建了问题 12月16日

悬赏问题

  • ¥15 用verilog实现tanh函数和softplus函数
  • ¥15 求京东批量付款能替代天诚
  • ¥15 slaris 系统断电后,重新开机后一直自动重启
  • ¥15 51寻迹小车定点寻迹
  • ¥15 谁能帮我看看这拒稿理由啥意思啊阿啊
  • ¥15 关于vue2中methods使用call修改this指向的问题
  • ¥15 idea自动补全键位冲突
  • ¥15 请教一下写代码,代码好难
  • ¥15 iis10中如何阻止别人网站重定向到我的网站
  • ¥15 滑块验证码移动速度不一致问题