您的位置:首页 > 编程语言 > C#

c#基础知识---参数数组

2018-01-20 17:19 260 查看


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



笔记: params
用法补充:

 1.带 params 关键字的参数类型必须是一维数组,不能使用在多维数组上;
 2.不允许和 ref、out 同时使用;
 3.带 params 关键字的参数必须是最后一个参数,并且在方法声明中只允许一个 params 关键字。
 4.不能仅使用 params 来使用重载方法。
 5.没有 params 关键字的方法的优先级高于带有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();
}
}
}

运行结果:
a + b = 31  2  3  4  5
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c#