一、params 是C#开发语言中关键字, params主要的用处是在给函数传参数的时候用,就是当函数的参数不固定的时候。 在方法声明中的 params 关键字之后不允许任何其他参数,并且在方法声明中只允许一个 params 关键字。 关于参数数组,需掌握以下几点。
1、若形参表中含一个参数数组,则该参数数组必须位于形参列表的最后。
2、不允许将params修饰符与ref和out修饰符组合起来使用。
3、参数数组必须是一维数组。
4、与参数数组对应的实参可以是同一类型的数组名,也可以是任意多个与该数组的元素属于同一类型的变量。
5、若实参是数组则按引用传递,若实参是变量或表达式则按值传递。
二、示例代码
示例代码以返回最大值为例。
1、方法定义:
1 public class ExercisesEight 2 { 3 public static int paramsShowMaxValue(params int[] arr) 4 { 5 int maxValue = 0; 6 if (arr != null && arr.Length > 0) 7 { 8 Array.Sort(arr); 9 maxValue = arr[arr.Length - 1]; 10 } 11 return maxValue; 12 } 13 public static void paramsShowMaxValue(string str,params int[] arr) 14 { 15 16 { 17 //dosomething........ 18 } 19 } 20 21 22 }
2、调用方法
Console.WriteLine($"最大值为:{ExercisesEight.paramsShowMaxValue()}"); Console.WriteLine($"最大值为:{ExercisesEight.paramsShowMaxValue(5)}"); Console.WriteLine($"最大值为:{ExercisesEight.paramsShowMaxValue(15,2)}"); Console.WriteLine($"最大值为:{ExercisesEight.paramsShowMaxValue(5,9,6,7,20,90,100,99)}"); Console.WriteLine($"最大值为:{ExercisesEight.paramsShowMaxValue(new int[] { 6,5,2,7,10,20,60,4})}");
输出结果: