一般情況下,函數中參數是確定的。但是在某些情況下,函數的參數個數可以根據需要改變而改變,可變參數的函數使用方法是在參數前加params。
以下是我的一個demo:
查看代碼
1 using System;
2 using System.Collections.Generic;
3 using System.Linq;
4 using System.Text;
5
6 namespace demo
7 {
8 class Program
9 {
10 static void Vfunc(params string[] values)
11 {
12 foreach (string s in values)
13 {
14 Console.WriteLine(s);
15 }
16 }
17
18 static void Main(string[] args)
19 {
20 string[] names = {"zhm"};
21 string[] sexs = { "男", "女" };
22 Vfunc(names);
23 Vfunc(sexs);
24 Console.ReadKey();
25 }
26 }
27 }
//輸出zhm
男
女
當然,一個函數也可包含可變參數和不變參數,兩個可以同時使用
查看代碼
1 using System;
2 using System.Collections.Generic;
3 using System.Linq;
4 using System.Text;
5
6 namespace demo
7 {
8 class Program
9 {
10
11 static void SayHello(string name, params string[] nichens)
12 {
13 Console.WriteLine("我的名字{0}",name);
14 foreach(string nichen in nichens)
15 {
16 Console.WriteLine("我的昵稱{0}",nichen);
17 }
18 }
19 static void Main(string[] args)
20 {
21 string[] names = {"zhm","dd","yy","ii","UU" };
22 SayHello("zhm", names);
23
24 Console.ReadKey();
25 }
26 }
27 }
但是值得注意的是可變參數必須放在函數中參數位置的最后一個,上述函數如果寫成 static void SayHello(params string[] nichens,string name)
就會顯示錯誤:“params參數必須是形象參表中最后一個"。
