C# 函数的高级参数
ref
不加上ref
在形参和实参前加上 ref
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace _30Class { class Program { static void Main(string[] args) { // 函数的高级参数 //ref int number = 20; Console.WriteLine("变量进入方法之前的值:{0}", number); AddNumer(ref number); Console.WriteLine("变量进入方法之后的值:{0}", number); Console.ReadKey(); } static void AddNumer(ref int number) { number += 10; Console.WriteLine("变量进入方法之后的值:{0}", number); } } }
运行结果
ref
1.作用
将一个变量传入一个函数中进行”处理”,"处理“完成后,再将”处理“后的值带出函数。重新赋值
2.语法
形参和实参前面都要加ref关键字
例如: A(ref num); static void A(ref int num)
out
一个函数返回多个不同类型的值,就需要使用out参数,out自己需要的内容,称为引用传递
代码:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace _31Class { class Program { static void Main(string[] args) { // out参数 //调用 int num1 = 20; int num2 = 30; int max; int min; Compare(num1, num2, out max, out min); Console.WriteLine("最大值是{0},最小值是{1}", max, min); Console.ReadKey(); } // 输入 static void Compare(int number1, int number2, out int max, out int min) { if(number1> number2) { max = number1; min = number2; } else { max = number2; min = number1; } } } }
结果: