Reed_redd 2022-12-16 10:52 采纳率: 100%
浏览 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 基于51单片机的厨房煤气泄露检测报警系统设计
  • ¥15 路易威登官网 里边的参数逆向
  • ¥15 Arduino无法同时连接多个hx711模块,如何解决?
  • ¥50 需求一个up主付费课程
  • ¥20 模型在y分布之外的数据上预测能力不好如何解决
  • ¥15 processing提取音乐节奏
  • ¥15 gg加速器加速游戏时,提示不是x86架构
  • ¥15 python按要求编写程序
  • ¥15 Python输入字符串转化为列表排序具体见图,严格按照输入
  • ¥20 XP系统在重新启动后进不去桌面,一直黑屏。