参数类型
ref 引用参数
无法通过函数调用修改一个值类型的实参。
static void Main(string[] args) { int a = 1; Change(a); // 这相当于Change(1); Console.WriteLine(a); // 输出:1 } static void Change(int a) // 形参a和实参a是两个不同的变量。 { a = 2; // 这里修改的是形参a,而不是实参a。 }
- 通过ref参数,可以值类型变量用引用方式传参,这样就可以直接修改实参。
关于值类型与引用类型的更多信息,请参考后续章节。
static void Main(string[] args) { int a = 1; Change(ref a); Console.WriteLine(a); // 输出:2 } static void Change(ref int a) { a = 2; }
- 引用参数必需要传变量并且在变量前加上
ref
关键字。static void Main(string[] args) { int a = 1; int b = 2; Exchange(ref a, ref b); Console.WriteLine(a); // 输出:2 } // 交换两个变量的值 static void Exchange(ref int a, ref int b) { int temp = a; a = b; b = a; }
out 输出参数(案例稍后补充)
- 函数的返回值只能返回一个数据,如果要返回多个数据,有两个解决方案:返回一个结构;使用输出参数。
- 当函数需要返回多个数据时可以使用输出参数。
- 输出参数必需要传变量并且在变量前加上
out
关键字。因为只有变量能存储数据。