C# out参数的学习

out参数一直不是很会用,学习下记录下来 。

先来看一下out参数的使用场景

如果你在一个方法中 ,返回多个相同类型的值的时候,可以考虑返回一个数组。(举例:写一个方法,传入一个数组,返回数组的最大值最小值总和已经平均值)

但是,如果返回多个不同类型的值的时候,返回数组就不行了,那么这个时候,可以考虑使用out参数。

public static void Test(int[] nums,out int max,out int min,out int sum,out int avg)

{

max = nums[0];

min = nums[0];

sum = 0;

for (int i = 0; i < nums.Length; i++)

{

if (nums[i] > max)

{

max = nums[i];

}

if (nums[i] < min)

{

min = nums[i];

}

sum += nums[i];

}

avg = sum / nums.Length;

}

调用:

int[] nums = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };

int max = 0;

int min = 0;

int sum = 0;

int avg = 0;

Test(nums,out max,out min,out sum,out avg);

Console.WriteLine(max);

Console.WriteLine(min);

Console.WriteLine(sum);

Console.WriteLine(avg);

Console.Read();

****(out参数要求在离开方法内部以前必须赋值 还是上面求数组最大值等的例子 我们有如下方法)