params:
1,在方法成员的参数列表中使用,为该方法提供了参数个数可变的能力
2,它在只能出现一次并且不能在其后再有参数定义,之前可以即只能在最后
3,该参数必须是一个一维数组
4,params 对应的参数可以不传任何值,这是该函数自动实例化一个具有0个元素的数组
例子:
using System;
public class MyClass
{
public static void UseParams(params int[] list)
{
for (int i = 0; i < list.Length; i++)
{
Console.WriteLine(list[i]);
}
Console.WriteLine();
}
public static void UseParams2(params object[] list)
{
for (int i = 0; i < list.Length; i++)
{
Console.WriteLine(list[i]);
}
Console.WriteLine();
}
static void Main()
{
UseParams(1, 2, 3);
UseParams2(1, 'a', "test");
// An array of objects can also be passed, as long as
// the array type matches the method being called.
int[] myarray = new int[3] { 10, 11, 12 };
UseParams(myarray);
UseParams();//-------------------------------------------------------没有传任何值,这时被调用函数自动实例化一个具有0个元素的数组
Console.ReadKey();
}
}