参数数组,通过关键字params定义参数数组。调用时可以传入个数不同的实参,具备很好的灵活性。示例代码:
//参数数组,关键字params
static int Add(params int[] p)
{
int sum=0;
foreach (int i in p)
sum += i;
return sum;
}
static void Main(string[] args)
{
Console.WriteLine(Add(1));
Console.WriteLine(Add(1, 3));
Console.WriteLine(Add(1, 3,5));
Console.WriteLine(Add(1, 3, 5,7));
Console.ReadKey();
}
哥哥,能不能解释下int [] p 的含义?
@jophie: 这就是一个数组形式的参数啊
@jophie: 你应该仔细再看一次C#的基础教程
@大水壶: 正是看不懂基础教材才请教大家的。
@artwl:
能不能这样理解:
params int [] P 是int [] [] p;
int [] [] p = new int[] {1};
= new int [] {1, 3}
= new int [] {1,3,5}
= new int [] {1,3,5,7}
而
Console.WriteLine(Add(1));
Console.WriteLine(Add(1, 3));
Console.WriteLine(Add(1, 3,5));
Console.WriteLine(Add(1, 3, 5,7));
可以写为 Add (new int [] {1});
Add (new int [] {1,3});
Add (new int [] {1,3,5});
Add (new int [] {1,3,5,7});
数组参数,个人认为是 作为返回值的类型,或者作为 方法体带入的参数类型
参数类型:就是 Params
int[] p规定了传入参数的类型必须为int ,如果你想传字符串需要写成
params string[] p
一个语法糖,是可以选参数,可以逗号隔开来参数传递
这样,定义一个函数 void Sum(int[] nums)用来计算输入的值的和。
1、不加params时,void Sum(int[] nums),调用Sum方法时,你只能输入int型数组参数;
2、加params时,void Sum(params int[] nums)你既可以输入int型数组参数,也可以输入多个int参数。