转载
C#函数可变参数的使用
一般情况下,函数中参数是确定的。但是在某些情况下,函数的参数个数可以根据需要改变而改变,可变参数的函数使用方法是在参数前加params。
以下是我的一个demo:
View Code
1 查看代码 2 using System; 3 using System.Collections.Generic; 4 using System.Linq; 5 using System.Text; 6 7 namespace demo 8 { 9 class Program 10 { 11 static void Vfunc(params string[] values) 12 { 13 foreach (string s in values) 14 { 15 Console.WriteLine(s); 16 } 17 } 18 19 static void Main(string[] args) 20 { 21 string[] names = {"zhm"}; 22 string[] sexs = { "男", "女" }; 23 Vfunc(names); 24 Vfunc(sexs); 25 Console.ReadKey(); 26 } 27 } 28 }
//输出zhm
男
女
当然,一个函数也可包含可变参数和不变参数,两个可以同时使用
View Code
1 查看代码 2 using System; 3 using System.Collections.Generic; 4 using System.Linq; 5 using System.Text; 6 7 namespace demo 8 { 9 class Program 10 { 11 12 static void SayHello(string name, params string[] nichens) 13 { 14 Console.WriteLine("我的名字{0}",name); 15 foreach(string nichen in nichens) 16 { 17 Console.WriteLine("我的昵称{0}",nichen); 18 } 19 } 20 static void Main(string[] args) 21 { 22 string[] names = {"zhm","dd","yy","ii","UU" }; 23 SayHello("zhm", names); 24 25 Console.ReadKey(); 26 } 27 } 28 }
但是值得注意的是可变参数必须放在函数中参数位置的最后一个,上述函数如果写成 static void SayHello(params string[] nichens,string name)
就会显示错误:“params参数必须是形象参表中最后一个"。