C#2.0 关于new运算符、ref,out参数值

 

1)在.net中我们应将new运算符理解成一个对象进行实例化的调用,而不应理解成分配内存的调用。在堆栈上分配的对象都支持new运算符,这也进一步说明了new不是关于内存分配的,也不是是否有必要进行回收的。

2readonly只能用于字段而不能用于局部变量,只读类型的字段值只能从构造器中更改,获知直接在声明时指定。

3)属性(property)和方法不允许作为ref out 参数值使用。

ref out 在内部实现时,需要将参数的内存地址传递给目标方法。但是由于属性可能是没有支撑字段的虚字段,也有可能是只读/只写的,因此不可能传递其基础存储的地址。所以,你不可能将属性作为ref out 参数值来传递。同样的道理也适用于方法。如果你将一个属性或者方法作为refout参数值传递,那么首先必须将值复制到一个变量中,然后传递该变量。方法调用结束之后,再将变量赋回属性。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值