转载

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参数必须是形象参表中最后一个"。

posted on 2012-12-12 20:15  陈谨  阅读(458)  评论(0编辑  收藏  举报