C#中方法的参数修饰符

时间:2022-01-14 09:49:57

做项目久了,有的时候真的需要静下心来认真的总结一下自己所用到的技术,而不是每天依葫芦画瓢,每天忙忙碌碌,到头来不知道自己忙了个啥,学了什么,自己到底掌握了多少知识。所以我想回顾一下C#的基础知识,把重要的知识总结成点记录下来,方便以后快速阅读。

方法的参数及参数修饰符:

1.(无)。如果一个参数没有用参数修饰符标记,则认为它将按值进行传递,这将意味着被调用的方法收到原始数据的一份副本。

2. out:输出参数由被调用的方法赋值,因此按引用传递,如果被调用的方法没有给输出参数赋值,就会出现编译错误。out最大的用途就是调用者只使用一次方法的调用就能获得多个返回值。

3. ref:调用者赋初值,并且可以由被调用的方法可选的重新赋值(数据是按引用传递的)。如果被调用的方法未能给ref参数赋值,也不会有编译器错误。

4. params:这个参数修饰符允许将一组可变的数量的参数作为单独的逻辑参数进行传递,方法只能有一个params修饰符,而且必须是方法的最后一个参数。

5. 可选参数:这项技术允许方法的调用者不指定不必要的参数,而是使用参数的默认值,分配给参数的值必须在编译时确定,而不能在运行时确定,否则会出现编译错误。可选参数必须放在方法签名的最后,将可选参数放在非可选参数之前,会出现编译时错误。

6. 使用命名参数调用方法:命名参数允许你在调用方法的时以任意顺序指定参数的值,因此你可以使用冒号操作符来指定参数,而不必按位置传递参数。另外命名参数必须放在方法调用的最后,可选参数和命名参数往往会一起使用。