C#的new关键字概述——C#语言学习篇

new 关键字

用途:

new 关键字可以给值类型和引用类型的变量做初始化。
值类型使用new 则在栈上初始化
如:int i= new int();
struct s = new struct();
引用类型使用new则在堆上初始化
如:class c = new class();

new一个对象流程:

  1. 在堆开辟空间,栈上进行内存空间指向。
  2. 在内存空间中创建对象。
  3. 为对象做初始化,为字段、属性等赋初值。

new一个对象和直接声明对象并赋值null的不同:

new一个对象:
会在栈和堆中开辟空间,并给对象的字段赋初值,字段有了内存分配,值类型为0,引用类型为null,null表示内存空间中什么数据都没有,只有一块内存空间。

直接声明对象并赋值null:
在堆中开辟了空间,但什么数据都没有。

实例化与初始化的区别:

实例化:指创建一个对象,为其在堆中分配内存空间。
初始化:为对象中的字段,属性等成员赋初值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值