C# 参数数组
有时,当声明一个方法时,您不能确定要传递给函数作为参数的参数数目。C# 参数数组解决了这个问题,参数数组通常用于传递未知数量的参数给函数。
params 关键字
在使用数组作为形参时,C# 提供了 params 关键字,使调用数组为形参的方法时,既可以传递数组实参,也可以传递一组数组元素。params 的使用格式为:
public 返回类型 方法名称( params 类型名称[] 数组名称 )
实例
下面的实例演示了如何使用参数数组:
实例
using System;
namespace ArrayApplication
{
class ParamArray
{
public int AddElements(params int[] arr)
{
int sum = 0;
foreach (int i in arr)
{
sum += i;
}
return sum;
}
}
class TestClass
{
static void Main(string[] args)
{
ParamArray app = new ParamArray();
int sum = app.AddElements(512, 720, 250, 567, 889);
Console.WriteLine("总和是: {0}", sum);
Console.ReadKey();
}
}
}
namespace ArrayApplication
{
class ParamArray
{
public int AddElements(params int[] arr)
{
int sum = 0;
foreach (int i in arr)
{
sum += i;
}
return sum;
}
}
class TestClass
{
static void Main(string[] args)
{
ParamArray app = new ParamArray();
int sum = app.AddElements(512, 720, 250, 567, 889);
Console.WriteLine("总和是: {0}", sum);
Console.ReadKey();
}
}
}
当上面的代码被编译和执行时,它会产生下列结果:
总和是: 2938
微软MSDN参考
109***4700@qq.com
params 关键字可以指定采用数目可变的参数的 参数方法。
可以发送"参数声明中所指定类型的"参数列表(各参数用逗号隔开)或指定类型的参数数组,还可以不发送参数。
在方法声明中,params关键字之后不允许任何其他参数。
示例:
运行结果:
微软MSDN参考
109***4700@qq.com
GPF
570***806@qq.com
参考地址
params 用法补充:
运行结果:
GPF
570***806@qq.com
参考地址
vinda
ohv***a@yeah.net
我们通常的入口函数 static void Main(string [] args) 就是用数组来作形参的,它实际可以写成 static void Main(),不需要参数的传入。同样使用数组作为形参,调用普通方法函数时,有无params是有区别的:
测试如下:(带params和不带params的方法只能存在一个,不能仅凭params来重载一个方法,故注释掉了一个,再测试时注释掉另一个。)
vinda
ohv***a@yeah.net