c#中可變引數(params關鍵字的使用)
阿新 • • 發佈:2018-11-12
一、params 是C#開發語言中關鍵字, params主要的用處是在給函式傳引數的時候用,就是當函式的引數不固定的時候。 在方法宣告中的 params 關鍵字之後不允許任何其他引數,並且在方法宣告中只允許一個 params 關鍵字。 關於引數陣列,需掌握以下幾點。
1、若形參表中含一個引數陣列,則該引數陣列必須位於形參列表的最後。
2、不允許將params修飾符與ref和out修飾符組合起來使用。
3、引數陣列必須是一維陣列。
4、與引數陣列對應的實參可以是同一型別的陣列名,也可以是任意多個與該陣列的元素屬於同一型別的變數。
5、若實參是陣列則按引用傳遞,若實參是變數或表示式則按值傳遞。
二、示例程式碼
示例程式碼以返回最大值為例。
1、方法定義:
public static int paramsShowMaxValue(params int[] arr) { int maxValue = 0; if (arr != null && arr.Length > 0) { Array.Sort(arr); maxValue = arr[arr.Length - 1]; } return maxValue; } public static void paramsShowMaxValue(string str,params int[] arr) { {
2、呼叫方法:
static void Main(string[] args) { Console.WriteLine($"最大值為:{ExercisesEight.paramsShowMaxValue()}"); Console.WriteLine($"最大值為:{ExercisesEight.paramsShowMaxValue(5)}"); Console.WriteLine($"最大值為:{ExercisesEight.paramsShowMaxValue(15,2)}"); Console.WriteLine($"最大值為:{ExercisesEight.paramsShowMaxValue(5,20,90,100,99)}"); Console.WriteLine($"最大值為:{ExercisesEight.paramsShowMaxValue(new int[] { 6,5,2,7,10,20,60,4})}"); Console.ReadKey(); }
輸出結果: