params:
使用方式:void IsParams(params object[] arr)
说明:params修饰符主要解决形式参数是一个数组,且内容不确定的情况,params修饰符必须在()中的形参中排在最后,且不能和ref、out共用。
举例:
class CodeFile1:Class1 { static void UseParams(params object[] list) { for (int i = 0; i < list.Length ; i++) { Console.WriteLine(list[i]); } } public static void Main() { object[] ass=new object[3]{ 1,2,4}; UseParams(ass); UseParams(3); Console.ReadKey(); } }
输出结果是:1
2
4
3
作用:
params关键字可以让被修饰的参数可以有任意个,只对数组,且参数必须要是最后一个参数,比如:
void Test(params int[] ass) {。。。。 }
当我们用这个方法时可以灵活成以下几种情况:
Test();--为空
Test(1);--只有一个参数
Test(1, 2);--多个参数
Test(new int[] { 1, 2, 3 });--数组参数
相反,如果我们没有加params修饰符,写成void Test(int[] ass)时,我们调用Test方法只能Test(new int[]{1,2,3});或者Test(null);(这里不能写成Test(),必须写成null)。
拓展:
1.当我们将Test方法改写成 :
void Test(int j,params int[] ass){ for(int i=0;i
我们调用Test(1,2,3);会输出什么?
输出结果:3
4
2. 当我们将params后面的参数换成List<T>泛型集合后又是什么样子呢?
void Test(int j,params List ass)//报错,必须为一维数组{ for(int i=0;i