摘要: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;
}
如有錯誤 歡迎指正