可变参数和不可变参数对比
- 可变参数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)
{
...
}