C#基礎之參數(二) 數組參數、可選參數與命名參數
阿新 • • 發佈:2017-11-17
編譯器 line 示例 報錯 一個 傳遞 for 介紹 public
這次介紹的三個參數皆屬於語法糖。
4.數組參數
聲明方法時,在形參前加params關鍵字。簡化了參數調用,增加了可讀性。
用法:
(1)在參數為數組時使用
(2)每個方法只能有一個數組參數。且要作為最後一個參數。(只有放在最後,調用方法時編譯器才能知道哪些實參屬於數組參數)
(3)調用方法可以將數組中的值一個個列出,而不用傳一個數組對象(當然,傳一個數組對象也是沒有錯的)。
示例:
1 class Program 2 { 3 static void Main(String[] args) 4 { 5 intsum; 6 bool b = Add(out sum, 1, 2, 3, 4); 7 if (b) 8 { 9 Console.WriteLine(sum); 10 } 11 } 12 public static bool Add(out int sum, params int[] a) 13 { 14 try 15 { 16 sum = 0; 17 foreach (int item in a) 18 { 19 sum += item; 20 } 21 return true; 22 } 23 catch (Exception) 24 { 25 sum = 0; 26 return false; 27 } 28} 29 }
輸出為:
10
實際上,這時微軟為我們包裝的語法糖。編譯器會將1,2,3,4存在一個int數組中,並將數組傳遞給方法。
5.可選參數
用法:
(1)在方發聲明時,為可選參數制定一個默認值。
(2)可選參數的默認值必須是一個常量。
(3)可選參數必須出現在所有必須參數之後,否則編譯器報錯。(如圖)
事實上,在調用方法時,編譯器會按順序把實參依次賦值給形參,若實參的個數少於形參,則未被賦值的形參會取默認值。
示例:
class Program { static void Main(String[] args) { int i = Add(4); Console.WriteLine(i); i = Add(1, 2); Console.WriteLine(i); } public static int Add(int x, int y = 5, int z = 6) { return x + y + z; } }
輸出為:
15 9
6.命名參數
用法:
(1)調用方法時,顯式地說明實參所對應的實參的名字。
(2)不必按順序輸入參數。
(3)調用方法時,若某個參數命名,則之後的所有參數都需要命名。否則編譯器會報錯。
命名參數的主要作用是,對於某些參數繁多的方法,可以增加代碼可讀性,避免參數順序的錯誤。
示例:
1 class Program 2 { 3 static void Main(String[] args) 4 { 5 int i = Add(5, secondInt: 6); 6 Console.WriteLine(i); 7 } 8 public static int Add(int firstInt,int secondInt) 9 { 10 return firstInt + secondInt; 11 } 12 }
C#基礎之參數(二) 數組參數、可選參數與命名參數