本人不是个学院派,是个纯实用主义者.所以对于很多多少,只要是有种实现的方式就不会不求甚解.
比如:params ,要不是今天在看mapxtreme的东西的时候,实在是没什么事儿,甚至可能还是只是知道只要按不加的方式调用就完了去使用了.
好了,费话不说.先用我的语言来表达一下:使用params关键字就可以在定义含有数组参数的接口时,让调用者有更好的体验.声明时只要在数组参数前加上关键字即可,但是要注意加上params关键字的参数必须为最后一个参数.
再来说说调用者,调用时对应的参数既可以传递一个数组实例,也可以直接传递一个或多个数组成员,这个数目是不定的!
好了,最后来看看MSDN的解释:
params 关键字可以指定在参数数目可变处采用参数的方法参数。
在方法声明中的 params 关键字之后不允许任何其他参数,并且在方法声明中只允许一个 params 关键字。
示例
// cs_params.cs
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();
}
public static void Main()
{
UseParams(1, 2, 3);
UseParams2(1, 'a', "test");
int[] myarray = new int[3] {10,11,12};
UseParams(myarray);
}
}
输出
1
2
3
1
a
test
10
11
12