C# params参数
不得不说,这是一个非常好用的参数。
不过在很多初级教材中我并没有看到它的身影
MSDN给出的介绍是
params 关键字可以指定在参数数目可变处采用参数的方法参数。
这么说可能很多人不理解
没有关系
看个例子就知道了
先看下MSDN的例子
// 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();
}
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);
}
}
[/csharp" line="1]
上面的代码运行后将会输出
1
2
3
1
a
test
10
11
12
或许大家觉得没什么用
那么举个常用的例子
我们要做删除和批量产出功能
那么会产生Delete(int id)和Delete(int[] ids)这两个方法
但是有了params就大可不必
只要一个Delete(params int[] ids)
就可以了
调用时
删一个就Delete(id)
多个就Delete(ids)
是不是很方便