1. 程式人生 > >C#基礎之參數(二) 數組參數、可選參數與命名參數

C#基礎之參數(二) 數組參數、可選參數與命名參數

編譯器 line 示例 報錯 一個 傳遞 for 介紹 public

  這次介紹的三個參數皆屬於語法糖

  4.數組參數

   聲明方法時,在形參前加params關鍵字。簡化了參數調用,增加了可讀性。
  用法:
  (1)在參數為數組時使用
  (2)每個方法只能有一個數組參數。且要作為最後一個參數。(只有放在最後,調用方法時編譯器才能知道哪些實參屬於數組參數)
  (3)調用方法可以將數組中的值一個個列出,而不用傳一個數組對象(當然,傳一個數組對象也是沒有錯的)。

  示例:

 1     class Program
 2     {
 3         static void Main(String[] args)
 4         {
 5             int
sum; 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#基礎之參數(二) 數組參數、可選參數與命名參數