首先给出一个具体的例子介绍参数数组(params)的具体用法:
例①:
static void Main (string [], args) { ,,,T (“s”,, a,,“g”,“e”,,“w”,“问”);,,//错误提示:T方法没有采用6个参数的重载 ,,,T (new 对象[],{,‘一个’,‘g’,, 1,“小龙女"}); } ,,,,,,,,,,, public static  void T (object [], c) { ,,,for (int 小姐:=,0;,小姐:& lt;, c.Length;,我+ +) ,,,{ ,,,,,,,Console.Write (c[我],+,","); ,,,} }
,例②:
static void Main (string [], args) { ,,,T (“s”,, a,,“g”,“e”,,“w”,“问”);,,//错误提示:T方法没有采用6个参数的重载 ,,,T (new 对象[],{,‘一个’,‘g’,, 1,“小龙女"}); } ,,,,,,,,,,, public static  void T (params 对象[],c) { ,,,for (int 小姐:=,0;,小姐:& lt;, c.Length;,我+ +) ,,,{ ,,,,,,,Console.Write (c[我],+,","); ,,,} }
例①,例②对比就会发现,
,
下面总结一些使用参数数组的注意事项:
1。
2。
,例③:
class 程序 { ,,,public static void Min (int[],列表) ,,,{ ,,,} ,,,,,,, ,,,public static void Min (int [], params ,列表),//编译时错误提示:类型项目已经定义了一个名为最小的具有相同参数类型的成员 ,,,{ ,,,} }
例③验证了2。,
3。
,例④:
, public static void Min (out params  int[],列表),//编译时错误提示:该参数上修饰符太多,,,,,,,, ,{ ,,,,,,,,,, ,} , ,public static  void 马克斯(ref params  int[],列表),//编译时错误提示:该参数上修饰符太多,,,,,,,, ,{ , 以前,}>
4。
,例⑤:
, public static void Min (int [], params , int [], B, int [], c)//错误提示:params参数必须是形参表中的最后一个参数 ,{ ,,,,,,,,,, ,} , ,public static  void 马克斯(int [], A, int [], B, params int [], C) ,{ , 以前,}>
5。
6。
,例⑥:
public static void Min (int int B) { ,,,,,,,,,, } , public static void  Min (params int [], C) { , }
第一个先被调用(声明不带参数数组参数的方法,或许是一种有用的优化技术,可以避免编译器创建和填充太多的数组)。
7。
,例⑦:
public static void 洞(params 对象[],c) { , }
c#用参数定义一维参数数组