函数参数默认是值传递的,也就是复制一份
例如:int age=20;
IncAge(age);
Console.WriteLine("age={0}",age);
而out则是方法内部为外部变量赋值
out一般使用在函数需要有多个返回值的场所
例如:定义一个方法返回数组中的最大值、最小值、总和
namespace @out
{
class Program
{
static void Main(string[] args)
{
int[] numbers = { 1,2,3,4,5,6,7,8,9,0};
//out参数在方法外部时不需要赋值
int max;
int min;
int sum = GetSumMaxMin(numbers, out max, out min);
Console.WriteLine("总和:{0},最大值:{1},最小值:{2}",sum,max,min);
Console.ReadKey();
}
//定义static方法 返回用户数组元素总和
//使用out参数返回最大值与最小值
public static int GetSumMaxMin(int[]numbers,out int max,out int min)
{
int sum = 0;
//out参数在方法内部需要为其赋值
max = int.MinValue;
min = int.MaxValue;
//遍历数组 判断数组每一个元素的大小
for (int i = 0; i < numbers.Length;i++ )
{
max=numbers[i] > max ? numbers[i] : max;
min = numbers[i] < min ? numbers[i] : min;
sum+=numbers[i];
}
return sum;//返回总和
}
}
} |