《CLR via C#:框架设计》读书笔记 - 参数

本文详细介绍了C#中参数的传递方式,包括传值、传引用(out和ref的区别)及可变数量参数的使用。同时提供了关于参数和返回类型的最佳实践建议。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

9.3 以传引用的方式向方法传递参数
默认情况下,CLR假定所有方法参数都是传值的。当传递引用类型的对象时,也默认是传值的,只不过这个值是引用(指针)本身。

CLR允许以传引用的方式传递参数。在C#中,用关键字out或ref来告诉编译器。编译器将传递参数的地址,而不是传递参数本身。

从CLR角度看,out和ref完全一致。但从C#编译器看,有区别:

(1) out,表明不指望调用者在调用方法之前初始化对象

(2) ref,表明必须在调用着在调用方法之前初始化对象

9.4 向方法传递可变数量的参数
用关键字params表明传递的是可变数量的参数

int Add(params int[] values) { return 0;}
注意:只有最后一个参数可以用params参数

9.5 参数和返回类型指导原则
为了使方法有最大的灵活性,最大的应用范围:

(1) 声明方法参数类型是,尽量指定最弱的类型,最好是接口而不是基类。

(2) 相反,一般最好将方法的返回类型声明为最强的类型(以免受限于特定的类型)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值