[Clr via C#读书笔记]Cp9参数

Cp9参数

可选参数和命名参数

参数设置了默认值(设置要从右到左,有默认值的参数必须放在没有默认值的参数的后面,默认值必须是常量),就可以使用可选参数和命名参数了。向方法传递实参的时候,编译器按照从左到右的顺序对实参进行求值。如果有ref或者out就不能设置默认值了。
本质上是编译器在编译的时候应用了特殊的atrribute。

隐式类型的局部变量

var,可以通过表达式来推断其类型,好处就是能够简化输入,坏处就是不容易阅读。注意区分dynamic;

引用参数

默认传值,所以方法修改的是副本;如果设置为引用参数,那么传递的是对象的地址,方法修改的是本体;
out和ref关键词的含义;

向方法传递可变数量的参数

params;只有最后一个参数才可以使用params;

参数和返回类型原则

参数类型尽量使用最弱的类型;返回类型一般设置为最强的;总之,要确保调用者在调用方法时有尽量大的灵活性,使方法的应用范围更大。 如果需要返回值具有足够的灵活性,则可以设置弱一点。
我感觉这里还是根据实际情况决定吧。

常量性

不变性immutable,字符串

posted @ 2017-12-31 21:56  xsz1234  阅读(172)  评论(0编辑  收藏  举报