首页 > 技术文章 > params可变参数

moshaochen 2021-11-11 21:55 原文

可变参数和不可变参数对比

可变参数params只能用来修饰方法的参数,参数必须是一个一维数组
在调用时,可以传一个数组,还可以直接传参数数组的元素
在调用的时候,会自动地将这些元素封装为1个数组,并将数组传递
参数列表中最多只能出现一个可变参数,并且必须要在参数列表的最后一个,不能有默认值
如果可变参数的长度为0,表示调用者没有为它传递任何元素(判断--strs.Length==0,strs时被params修饰的数组)
不可变参数

static void Main(string[]args)
{
    int[]arr =new int[3];
    TestParams(arr);
}
static void TestParams(int[] arr)
{
...
}

可变参数

static void Main(string[]args)
{
    
    TestParams(1,23,3,4,5,9);
}
static void TestParams(params int[] arr)
{
...
}

 

推荐阅读