[Clr via C#读书笔记]Cp9参数
Cp9参数
可选参数和命名参数
参数设置了默认值(设置要从右到左,有默认值的参数必须放在没有默认值的参数的后面,默认值必须是常量),就可以使用可选参数和命名参数了。向方法传递实参的时候,编译器按照从左到右的顺序对实参进行求值。如果有ref或者out就不能设置默认值了。
本质上是编译器在编译的时候应用了特殊的atrribute。
隐式类型的局部变量
var,可以通过表达式来推断其类型,好处就是能够简化输入,坏处就是不容易阅读。注意区分dynamic;
引用参数
默认传值,所以方法修改的是副本;如果设置为引用参数,那么传递的是对象的地址,方法修改的是本体;
out和ref关键词的含义;
向方法传递可变数量的参数
params;只有最后一个参数才可以使用params;
参数和返回类型原则
参数类型尽量使用最弱的类型;返回类型一般设置为最强的;总之,要确保调用者在调用方法时有尽量大的灵活性,使方法的应用范围更大。 如果需要返回值具有足够的灵活性,则可以设置弱一点。
我感觉这里还是根据实际情况决定吧。
常量性
不变性immutable,字符串