用C#的params症結字完成辦法形參個數可變示例。本站提示廣大學習愛好者:(用C#的params症結字完成辦法形參個數可變示例)文章只能為提供參考,不一定能成為您想要的結果。以下是用C#的params症結字完成辦法形參個數可變示例正文
小我以為,供給params症結字以完成辦法形參個數可變是C#語法的一年夜長處。在辦法形參列表中,數組類型的參數前加params症結字,平日可以在挪用辦法時期碼加倍精練。
例如,上面代碼:
class Program { static void Main(string[] args) { Console.WriteLine(Sum(1)); Console.WriteLine(Sum(1, 2, 3)); Console.WriteLine(Sum(1, 2, 3, 4, 5)); Console.ReadKey(); } private static int Sum(params int[] values) { int sum = 0; foreach (int value in values) sum += value; return sum; } }
完成了一個Sum辦法,用於吸收一組整數,並前往它們的和。參數values被加上params症結字後,在挪用時可以在實參列表中羅列出這組整數中的每一個元素,異常便利。
關於params症結字的用法,須要留意以下幾點:
1. params只能用於一維數組,不克不及用於多維數組和諸如ArrayList、List<T>等任何相似於數組的聚集類型。
2.被加上params症結字的形參,必需是形參列表中最初一個形參,而且辦法聲明中只許可一個 params 症結字。
3. 用params症結字的辦法,有四種挪用情勢:
第一種,羅列出數組各元素:Sum(1,2,3),這也是最經常使用的情勢;
第二種,像沒有加params症結字的數組形參那樣,用數組名做實參:Sum(new int[]{1,2,3})或int n=new int[]{1,2,3};Sum(n);;
第三種,加params症結字的參數在挪用時可以省略:Sum();//前往0;這類方法有時可以少界說一個辦法重載,但當明白界說了重載int Sum()時,編譯器會優先挪用int Sum(),而不是Sum(params int[] values)。並且省略params型參數,辦法外部仍會new一個元素個數為0的數組,效力略查。
第四種,不省略params型參數,用null取代,效力比第三種略高,由於其外部不會new這個數組。