1、params关键字的作用
(1)、使用 params关键字可以指定一个方法参数,该方法参数的数目可变。
(2)、可以发送参数声明中所指定类型的逗号分隔的参数列表或指定类型的参数数组。 还可以不发送参数。 如果未发送任何参数,则 params
列表的长度为零。
(3)、在方法声明中的 params
关键字之后不允许任何其他参数,并且在方法声明中只允许一个 params
关键字。
代码如下:
static void Main(string[] args) { int[] myIntArray = { 5, 6, 7, 8, 9 }; UseParam1(myIntArray); object[] myObjArray = { 2, 'b', "test", "again" }; UseParam2(myObjArray); } static void UseParam1(params int[] args) { for (int i = 0; i < args.Length; i++) { Console.WriteLine(args[i] + "..."); } } static void UseParam2(params object[] objs) { for (int i = 0; i < objs.Length; i++) { Console.WriteLine(objs[i] + " "); } }
输出:
2、总结分析
(1)当参数的类型定义成param int[] args时,这时UseParam方法就接收一个可变长的int类型的参数数组,注:只能是一维的,不能是二维的,要是二维的就乱套了
所以,UseParam方法的调用方式就有两种:
i、代码如下:
UseParam(1,2,3,4,5);
ii、代码如下:
int[] args={1,2,3,4,5}; UseParam(args);
(2)当参数的类型定义成param object[] args时,这是UseParam就接收一个可变长的object类型的参数数组,注:只能是一维的,不能是二维的,要是二维的就乱套了
所以,UseParam方法的调用方式就有两种:
i、代码如下:
UseParam(1,"2",true,"a")
ii、代码如下:
object[] args={1,2,"3",false,5}; UseParam(args);