C#函数可变参数的使用

一般情况下,函数中参数是确定的。但是在某些情况下,函数的参数个数可以根据需要改变而改变,可变参数的函数使用方法是在参数前加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参数必须是形象参表中最后一个"。

 

posted @ 2012-03-12 15:33  清晨の雨露  阅读(9072)  评论(0编辑  收藏  举报