C#方法中的参数有4种类型:
1 | 传值 | 不含任何修饰符 | ||
2 | 传址 | 以ref修饰符声明 | 在方法的参数和执行方法时,都要加Ref关键字。适用于需要被调用的方法修改调用者的引用的时候 | 传入的参数必须先在函数体外初始化,对变量赋值(有进有出) |
3 | 输出参数 | 以out修饰符声明 | 在方法的参数和执行方法时,都要加Out关键字。适合用在需要retrun多个返回值的地方 | 必须在方法中对其完成初始化,不能得到外面传进来的初始值(只出不进) |
4 | 数组参数 | 以params修饰符声明 | params 类型TYPE [ ] 名称NAME | 有且只有一个,而且一定放在最后 |
Ref指明了方法中使用的是引用型参数,引用型参数不开辟新的内存区域。
当利用引用型参数向方法传递形参时,编译程序将把实际值在内存中的地址传递该方法。引用型参数通常已经初始化。
int
i=1,j=2; //初始化在函数外面
Swap(ref
i,ref j);
Out输出型参数也不开辟新的内存区域,但与引用型参数不同的是,
调用方法之前无需对变量进行初始化,输出型参数主要用于传递方法返回的数据。
string name,path; //没有初始化,初始化在函数里面
File(out name,out path);