参数数组(params)的用法

使用参数数组的注意事项:
1. 只能在一维数组上使用params关键字。
2. 不能重载一个只基于params关键字的方法。params关键字不构成方法的签名的一部分。
如:
//编译时错误:重复访问
public static int Min(int [] paramList)
.............
public static int Min(params int [] paramList)
.............
3. 不允许ref或out params数组
//编译时错误
public static int Min(ref params int [] paramList)
.............
public static int Min(out params int [] paramList)
.............
4. params 数组必须是方法的最后一个参数(也就是只能有一个params数组参数)
public static int Min(params int [] paramList,int i)
.............
5. 编译器会检查并拒绝任何可能有歧义的重载
6. 非params方法总是优先于一个params方法。也就是说,如果愿意,仍然可以为普通情况创建一个方法的重载版本,

如:
 public static int Min(int leftHandSide,int rightHandSide)
优于:
    public static int Min(params int [] paramList)

using System;
public class MyClass {
        public static void UseParams(params int[] list) {
            for (int i = 0; i < list.Length; i++) {
                 Console.WriteLine(list[i]);
                }
             Console.WriteLine();
             }

         public static void UseParams2(params object[] list) {
             for (int i = 0; i < list.Length; i++) {
                Console.WriteLine(list[i]);
                }
             Console.WriteLine();
            }

            static void Main() {
                UseParams(1, 2, 3);
                 UseParams2(1, 'a', "test");
                 An array of objects can also be passed, as long as
                the array type matches the method being called.
                 int[] myarray = new int[3] { 10, 11, 12 };
                 UseParams(myarray);
            }
}

    程序的输出结果如下:
1
2
3

1
a
test

10
11
12
时间: 2024-10-25 12:03:59

参数数组(params)的用法的相关文章

参数数组params

using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace nange_1 { class A { public void listint(params int[] array) { for (int i = 0; i < array.Length; i++) { array[i] = array[i] * 10; Console.WriteLine("{0}

C# 用params定义一维参数数组

参数数组,通过关键字params定义参数数组,params类型参数主要用于在对数组长度未知(可变)的情况下进行函数声明,调用时可以传入个数不同的实参,具备很好的灵活性. 首先给出一个具体的例子介绍参数数组(params)的具体用法: 例①: static void Main(string[] args) {     T('s', 'a', 'g', 'e', 'w', 'q');  //错误提示:T方法没有采用6个参数的重载     T(new object[] { 'a', 'g' ,1,"小

out参数,ref参数,params参数数组

params参数数组 params关键字可以为方法指定数目可变的参数.params关键字修饰的参数,可以传入任意数目的同类型参数,甚至可以不传入参数. 不过params修饰的参数必须是方法的最后一个参数,并且一个方法只能有一个params修饰的参数. 示例 public class MyClass { public static void UseParams(params int[] list) { for (int i = 0; i < list.Length; i++) { Console.

C#参数数组的用法1

C# 参数数组  C# 数组 有时,当声明一个方法时,您不能确定要传递给函数作为参数的参数数目.C# 参数数组解决了这个问题,参数数组通常用于传递未知数量的参数给函数. params 关键字 在使用数组作为形参时,C# 提供了 params 关键字,使调用数组为形参的方法时,既可以传递数组实参,也可以只传递一组数组.params 的使用格式为: public 返回类型 方法名称( params 类型名称[] 数组名称 ) 实例 下面的实例演示了如何使用参数数组: using System; na

参数数组

          参数数组 定义一个函数,用采取得的数字的和,但是数字的个数不确定. 解决方案: 可以使用一个参数数组来进行求解: 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6 7 namespace 参数数组 8 { 9 //求一串数字的和 10 11 class Program 12

10.C# -- 函数参数,参数数组,值传递函数,引用传递函数,输出函数,无参函数

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication1 {     class Program {         static int val;         //函数         //1. 关键字static:静态函数,void:无返回值,return:

关于数组的一些用法

数组的用法有很多,这里稍微的总结一下: 1.sort()函数 从小到大排序与从大到小排序: var arr=[1,2,3]; arr.sort(function(t1,t2){ return t1-t2;-----从小到大排序 如果使return  t2-t1----从大到小排序    像数组的这种用法比较常见,一定要牢记和掌握. }) 2.引用的用法 了解引用的实质其实就是地址的引用,当被引用的对象法发生改变,其原先的也将随之改变,比喻说,有两个钥匙,大门,第一个人进去将沙发移到另一个位置,那

Android中资源文件中的字符串数组string-array简单用法

在Android中,用string-array是一种简单的提取XML资源文件数据的方法. 例子如下: 把相应的数据放到values文件夹的strings.xml文件里,或是其他自定义的xml中都可以,以下操作方法相同. <?xml version="1.0" encoding="utf-8"?> <resources> <string-array name="sports"> <item>足球<

LoadRunner参数数组

参数数组提供了对一类参数集中存放的机制,其中LR内置的几个函数有:lr_paramarr_idx().lr_paramarr_len().lr_paramarr_random() 同时参数数组必须满足一下两个条件:①参数必须都是以相同的名字开头的,后接下划线加数字的方式顺序赋值:②参数数组必须要有一个“参数名_count”的参数来记录数字的长度. eg: lr_save_string(“www.google.com”,“website_1”); lr_save_string(“www.baidu