扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
通过在声明方法时指定 params 关键字,C# 允许我们发送可变数目的参数。参数列表也可以包含普通参数,但是需要注意,用 params 关键字声明的参数必须放在最后。它采用可变长度数组的形式,并且每个方法只有一个 params 参数。
当编译器尝试解析一个方法调用时,它查找其参数列表与调用的方法相匹配的方法。如果找不到可以与参数列表匹配的方法重载,但是存在与适当类型的 params 参数匹配的版本,则会调用该方法,并将额外的参数放在一个数组中。
下面的示例对此进行了演示:
using System; public class ParamsClass { public static void Main(string[] args) { Average ("List One", 5,10,15); Average ("List Two", 5,10,15,20,25,30); } public static void Average (string title, params int[] values) { int Sum = 0; Console.Write("Average of {0}: ", title); for (int i = 0; i < values.Length; i++) { Sum += values[i]; Console.Write(values[i] + ", "); } Console.WriteLine(": {0}", (float)Sum/values.Length); } }
在上面的示例中,用整型数组中的 params 参数声明了方法 Average,让我们使用任何数目的参数来调用它。输出结果如下:
Average of List One: 5, 10, 15, : 10 Average of List Two: 5, 10, 15, 20, 25, 30, : 17.5
注意,如果我们希望允许不同类型的不确定参数,我们可以指定 Object 类型的 params 参数。
查看本文来源如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者