参数数组

来源:互联网 发布:苹果手机虚拟定位软件 编辑:程序博客网 时间:2024/05/27 20:54
C#引进参数数组,主要是适应如下情况:假如方法需要获取数量可变且类型有可能不同的参数,如果一直使用重载,那可能要写很多重载版本,但是如果参数经常变,变到我们无法控制,那我们只有用参数数组的方式来解决了。

   参数数组有2种类型,一种是只容纳值类型的数组,params typt[]; 另一种是可以容纳所有类型,params object[].

   One:params type[]

   假如一个方法需要接受一个不定数量的参数,那只有把这些参数放到一个数组中,找最小值的方法 public static int Min(params int[] paramList),这样就可以接受任意数量的参数了。当然参数数组只能是一维数组,不允许使用ref out 关键字。而且一个方法中只能由一个参数数组。当然,由于普通参数在性能上总是优于数组参数,我们可以把几个常用的参数指定成重载版本,另外不常出现的参数个数再用参数数组来表示。

    Two:params object[]

    以上说了参数个数在数量不固定时使用。还有一种情况是数量不固定,而且参数类型也不固定。这个时候就要用params object[].他会自动装箱值类型。他可以容纳任何参数,就像个黑洞一样。