使用不确定数目的参数(C# 与 Java)

使用不确定数目的参数(C# 与 Java)

更新:2007 年 11 月

C# 允许您在声明某个方法时通过指定 params 关键字来向此方法发送数目不确定的参数。变量列表也可包含常规参数,但请注意:使用 params 关键字声明的参数必须放在最后。它采取长度可变的数组形式,并且每个方法只能有一个 params 参数。

当编译器试图解析某个方法调用时,它会查找参数列表与所调用的方法相匹配的那个方法。如果无法找到与参数 (Argument) 列表相匹配的方法重载,但有一个具有相应类型的 params 参数 (Parameter) 的匹配版本,则将调用此方法,将其他参数 (Argument) 放入一个数组中。

下面的示例说明了这一点:

  1. classTestParams
  2. {
  3. privatestaticvoidAverage(stringtitle,paramsint[]values)
  4. {
  5. intsum=0;
  6. System.Console.Write("Averageof{0}(",title);
  7. for(inti=0;i<values.Length;i++)
  8. {
  9. sum+=values[i];
  10. System.Console.Write(values[i]+",");
  11. }
  12. System.Console.WriteLine("):{0}",(float)sum/values.Length);
  13. }
  14. staticvoidMain()
  15. {
  16. Average("ListOne",5,10,15);
  17. Average("ListTwo",5,10,15,20,25,30);
  18. }
  19. }

以上示例中,方法 Average 是使用类型为整型数组的 params 参数声明的,这样您便可以用任意数目的变量来调用此方法。输出结果如下:

Average of List One (5, 10, 15, ): 10

Average of List Two (5, 10, 15, 20, 25, 30, ): 17.5

如果要允许使用不确定的不同类型的参数,可以指定 Object 类型的 params 参数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值