C# 參數陣列及選擇性參數

  • 4270
  • 0
  • C#
  • 2011-05-01

摘要:C# 參數陣列及選擇性參數

 

參數陣列

使用params關鍵字宣告參數陣列,有以下需遵守的規則

參數陣列只接收同型別的資料

每個方法中只能宣告最多一個參數陣列

在params關鍵字宣告完參數陣列後,不可以再宣告其他的參數;也就是說參數陣列只能宣告在方法參數列的最後面

 

宣告選擇性參數 必須注意下面三件事情

選擇性參數必須定義在參數列中所有必要參數的後面

每個選擇性參數都必須要指定預設值

選擇性參數的預設值必須為常數

如果要跳過某個選擇性參數輸入資料的話,注意不可使用逗號(會發生編譯錯誤),而是要使用 「具名引數」 的技巧

如Printdata(20,name:"小明");

 

因為上面紅字的條件,得知參數陣列與宣告選擇性參數的規則是互相衝突的,所以不能同時使用。

 

以下是個參數陣列的範例


	private void button1_Click(object sender, RoutedEventArgs e)
        {
           Console.WriteLine(Average("A", "me", 10,20,30));
        }
        public string Average(string classname, string name,params int[] grades)
        {
           // throw new System.NotImplementedException();
            double total = 0;
            foreach (int grade in grades)
            {
                total += grade;
            }
            return "班級名稱:" + classname +"姓名:"+ name+",平均成績:" + total / grades.Length;
        }

 

以下是選擇性參數範例


	private void button1_Click(object sender, RoutedEventArgs e)
        {
           Console.WriteLine(Printdata(18));
           Console.WriteLine(Printdata(20,name:"小明")); 
        }
        public string Printdata(int age,string city="taipei", string name = "將中正")
        { 
            return "藉貫:"+ city+",姓名:"+ name+",年齡:" + age;
        }

 


如有錯誤 歡迎指正