本文主要是介绍浅谈params修饰符,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
C#中,使用params关键字来支持参数数组的使用。params关键字可以把可变数量的相同类型的参数作为单个逻辑参数传递给方法、同样地,如果调用者为调用方法传入强类型数组或者以逗号分隔的参数项列表,params修饰符标记的参数就可以被处理。
为了更加直观,给出下面的例子,例子中,我们分别通过数组方式、参数项列表方式来调用求和函数。可以看到,传入零个参数时,也可以被处理。当以参数项列表方式调用方法时,.NET平台会自动地把这些参数项包装成同类型的数组。
class Program{static void Main(string[] args){int sum;int[] data = {1, 2, 3, 4, 5, 6};sum = Add(data);Console.WriteLine("sum = {0}\n", sum);sum = Add(1, 2, 3, 4, 5, 6);Console.WriteLine("sum = {0}\n", sum);sum = Add();Console.WriteLine("sum = {0}\n", sum);}private static int Add(params int[] values){Console.WriteLine("I received {0} int values", values.Length);int sum = 0;for(int i = 0; i < values.Length; i++){sum += values[i];}return sum;}}
最后需要注意的是,C#为了避免歧义,要求方法最多只支持一个params参数,而且必须是参数列表中最后一个参数。
params关键字技术并没有提升C#的代码效率,只是为了调用者的方便,因为CLR还是需要在底层创建数组给予支持。
这篇关于浅谈params修饰符的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!