方式 | 描述 |
---|---|
值传递 | 值传递会复制参数的实际值并赋值给函数的形式参数,实参和形参使用的是两个不同内存位置中的值,当形参的值发生改变时,不会影响实参的值,从而保证了实参数据的安全。 |
引用传递 | 引用传递会复制参数的内存位置并传递给形式参数,当形参的值发生改变时,同时也会改变实参的值。 |
输出传递 | 输出传递可以一次返回多个值。 |
- 值传递(Value Passing):传递的是数据的副本,方法内部对参数的修改不会影响原始数据。
private void Test(int a, int b) { int temp = a; a = b; b = temp; }
- 引用传递(Reference Passing):传递的是数据的引用,方法内部对参数的修改会影响原始数据。使用 ref 关键字标记。
private void Test(ref int a, ref int b) { int temp = a; a = b; b = temp; }
- 输出参数(Output Parameter):类似于引用传递,但输出参数在调用前不需要初始化。使用 out 关键字标记。
private void Test(int a, int b, out int result, out int remainder) { result = a / b; remainder = a % b; }