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();
}
}
}
当上面的代码被编译和执行时,它会产生下列结果:
总和是: 2938
C# 数组



微软MSDN参考
109***4700@qq.com
params 关键字可以指定采用数目可变的参数的 参数方法。
可以发送"参数声明中所指定类型的"参数列表(各参数用逗号隔开)或指定类型的参数数组,还可以不发送参数。
在方法声明中,params关键字之后不允许任何其他参数。
示例:
public class MyClass { public static void UseParams(params int[] list) { for(int i = 0; i < list.Length; i++) { Console.Write( list[i] + " "); } Console.WriteLine(); } public static void UseParams2( params object[] list) { for(int i = 0; i < list.Length; i++) { Console.Write(list[i] + " "); } Console.WriteLine(); } static void Main() { UseParams(1, 2, 3, 4); UseParams2(1, 'a', "Apple"); UseParams2(); //不填入参数 int[] myIntArray = {5, 6, 7, 8, 9, }; UseParams(myIntArray); object[] myObjArray = { 1, 'b', "boom", "app" }; UseParams2(myObjArray); UseParams2(myIntArray); //输出为"System.Int32[]" } }//end of MyClass运行结果:
微软MSDN参考
109***4700@qq.com
GPF
570***806@qq.com
参考地址
params 用法补充:
using System; namespace MyParams { class MyParams { static void Test(int a, int b) { Console.WriteLine("a + b = {0}", a + b); } static void Test(params int[] list) { foreach(int i in list) { Console.Write("{0} ", i); } } static void Main(string[] args) { Test(1, 2); Test(1, 2, 3, 4, 5); Console.ReadLine(); } } }运行结果:
GPF
570***806@qq.com
参考地址