1.值参数(传值参数)
声明时不带修饰符的形参是值形参,一个值形参对应一个局部变量,只是它的初始值来自该方法调用所提供的相应实参。
(红线方法体)
2.引用参数
引用参数是用ref修饰符声明的形象,与值形参不同,引用形参并不创建新的储存位置。相反,引用形参表示的储存位置恰是在方法调用中作为实参给出的那个变量所表示的储存位置。引用参数直接指向实际参数指向内存地址。变量在可作为引用形参传递之前,必须先精确赋值。
3.输出形参
Out修饰符声明的形参是输出形参,类似于引用形参,输出形参不创建新的储存位置,相反,输出形参表示的存储位置是在该方法调用中作为实参给出的那个变量所表示的储存位置。变量在可以作为输出形参传递之前不一定需要明确赋值。在方法返回之前,该方法的每个输出形参都必须明确赋值。
4.数组参数
必须是参数列表中的最后一个,由params修饰。
5.具名参数
调用方法时候传入的参数是有名字的。实质上是参数的使用方法。
6.可选参数
调用方法时参数可写可不写,因为在声明时具有默认值。
7.扩展方法(this参数)
为目标数据类型来追加方法。
方法必须是公有、静态的,即被public static修饰
必须是形参列表中的第一个,由this修饰。
必须由一个静态类(一般类名为SomeTypeExtension)来统一收纳SomeType类型的扩展方法。
举例:LINQ方法:是一种方法的总称。
总结