params 可變動參數
- params 的參數的個數不一定,可以0~n個。
- params 的參數類型,一定是一維陣列。(
int[],string[]…) - params 可變動參數,一定要放在最後一個。
- params参数不能用
ref或out,且不能手動給默認值。
params 可變動參數最大的優勢就是,可以傳遞一個不確定個數的集合類型(只能是一維陣列),而且不用單獨宣告變數類型去包裝,可以在呼叫方法時,直接把值放進去。
1
2
3
4
5
6
7
8
9
10
Sum();
Sum(1);
Sum(1, 2);
Sum(1, 2, 3);
Console.ReadKey();
void Sum(params int[] list) {
Console.WriteLine(list.Sum().ToString());
}
程式說明:
- 呼叫Sum()方法時,引數的個數不一定,可以0~n個。
- 定義Sum()方法中的 params 的參數類型,一定是一維陣列。(
int[],string[]…)
定義方法中的params的參數,必須放在所有參數中的最後一個,而且只能有一個
1
2
3
4
Demo("兔兔班", "Kebo", "JJ", "Rii");
void Demo(string className, params string[] names) {
Console.WriteLine($"班級:{className} 的學生有:{string.Join(",", names)}");
}