《CLR via C#:框架设计》读书笔记 - 参数
2016-04-21 17:26
295 查看
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) 相反,一般最好将方法的返回类型声明为最强的类型(以免受限于特定的类型)。
默认情况下,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) 相反,一般最好将方法的返回类型声明为最强的类型(以免受限于特定的类型)。
相关文章推荐
- c#调用COM组件
- 只需十分钟,结果大不同 |《深度思考》
- 《洋葱阅读法》读书笔记
- C#实现把指定数据写入串口
- C#动态创建button的方法
- C#中抽象方法与虚拟方法的区别
- c#中虚函数的相关使用方法
- C#实现给图片加水印的方法
- C#使用加边法计算行列式的值
- C#实现多线程的同步方法实例分析
- C#中尾递归的使用、优化及编译器优化
- C#中的delegate委托类型基本学习教程
- C#实现子窗体与父窗体通信方法实例总结
- C#通用邮件发送类分享
- 举例讲解C#中自动实现的属性
- C#中this的用法集锦
- C#数据结构之顺序表(SeqList)实例详解
- C#.NET获取拨号连接的宽带连接方法
- C#异步绑定数据实现方法
- C#实现AddRange为数组添加多个元素的方法