为了将方法声明为可以接受可变数量参数的方法,我们可以使用params关键字来声明数组,要求:
(1)在方法声明中的 params 关键字之后不允许任何其他参数,并且在方法声明中只允许一个 params 关键字。
(2)该参数必须标识一个一维数组,但类型不限,对该参数传递null或者0个数目的数组的引用都是合法的
示例1:
Console.WriteLine(IntAdd()); // 输出0
private static int IntAdd(params int[] values)
{
var sum = 0;
for (int i = 0; i < values.Length; i++)
{
sum += values[i];
}
return sum;
}
示例2:
DisplayTypes(new object(), new Random(), "string", 10);
//输出:
//System.Object
//System.Random
//System.String
//System.Int32
public static void DisplayTypes(params object[] objects)
{
foreach (var item in objects)
{
Console.WriteLine(item.GetType());
}
}
注意:对于可接受可变数量参数的方法的调用会对性能造成一定的损失,因为数组是在堆上分配的,数组的元素还得初始化,数组的内存还得被垃圾回收器回收
作者:꧁执笔小白꧂