一、参数:说点有用的。
可选参数:定义参数时候给默认值
命名参数:传递参数时候指定参数名加冒号加参数值(参数名:参数值)
二、Out和Ref :按照引用方式传递给方法(对象地址)
Out:传递前不需要初始化,返回时候需要重写值
Ref:传递前需要初始化,
三、数量可变参数:Params,内存分配在堆上,性能有影响。涉及到内存分配、GC。
可以考虑Tupe代替
四、出入参规则:以前经常面试开发同学时候提的一个问题。
入参:作者意思我们尽量指定弱类型的参数 比如下图:
认为是 IEnumberable<T> 比强类型的 List<T> 好
出参:相反,List<T>肯定比IEnumberable<T>好。
有的网友容易在学习这块的时感觉到不明朗,为啥呢?
听我给你解释下 :
A:入参弱类型可以帮你的方法更加灵活。除了你可以传递List<T>,你还可以传递任何继 承成了IEnumberable<T>的参数
B:出参强类型可以帮助你的接口返回值比较确定接口更加安全,符合C#语法类型安全 要求。定义一个方法返回类型必须明确。这是做C#的底蕴。