params有什么用? 财富值10

2020-07-02 20:47发布

[图]定义了两个方法,随便传了个数组,感觉用不用没什么区别啊.有没有具体点的使用?

1.PNG

定义了两个方法,随便传了个数组,感觉用不用没什么区别啊.有没有具体点的使用?

7条回答
Ross
1楼 · 2020-07-03 08:49.采纳回答

主要用在方法形参的前面,称为可变数组参数,使用时可以直接传递一个数组给形参,也可以直接把数组中的元素传递给形参.例如提问处提供的两个方法,调用第一个方法的时候有两种方式:

int[]a={1,2,3,4,5};

Sum(a);

Sum(1,2,3,4,5);

而调用第二个方法时,只能采用如下方式:

Sum(a);

蜗牛
2楼 · 2020-07-03 09:31

params主要是在声明方法时参数类型或者个数不确定时使用,关于params 参数数组,需掌握以下几点:   

一.参数数组必须是一维数组  
二.不允许将params修饰符与ref和out修饰符组合起来使用   
三.与参数数组对应的实参可以是同一类型的数组名,也可以是任意多个与该数组的元素属于同一类型的变量  
四.若实参是数组则按引用传递,若实参是变量或表达式则按值传递  
五.用法:可变的方法参数,也称数组型参数,适合于方法的参数个数不知的情况,用于传递大量的数组集合参数;当使用数组参数时,可通过使用params关键字在形参表中指定多种方法参数,并在方法的参数表中指定一个数组
六.形式为:方法修饰符 返回类型 方法名(params 类型[] 变量名)

像楼主这个问题:

调用Sum静态方法时,参数是params修饰可以不用额外定义数组,使用时可以这样Sum(1,2,3,4,5)

但是调用Sum1时,就不能像上述这样 必须指定一个数组,调用方法时传递的是数组名,而不能直接在参数位置写上数组元素

params 是C#的关键字, params主要是在声明方法时参数类型或者个数不确定时使用:   

一.参数数组必须是一维数组  
二.不允许将params修饰符与ref和out修饰符组合起来使用   
三.与参数数组对应的实参可以是同一类型的数组名,也可以是任意多个与该数组的元素属于同一类型的变量  
四.若实参是数组则按引用传递,若实参是变量或表达式则按值传递  
五.用法:可变的方法参数,也称数组型参数,适合于方法的参数个数不知的情况,用于传递大量的数组集合参数;当使用数组参数时,可通过使用params关键字在形参表中指定多种方法参数,并在方法的参数表中指定一个数组
六.形式为:方法修饰符 返回类型 方法名(params 类型[] 变量名)


Transform
4楼 · 2020-07-04 21:17

params可以修饰可变长度数组的方法参数。可以传递数组,也可以直接将数据传递。一般用于未知数组个数的情况下使用,无需创建数组,节约内存。

小狮子
5楼 · 2020-07-06 13:42

一种提供参数数目可变的参数传递方法。任意数目的参数可转化为一个数组。
params 关键字在方法成员的参数列表中使用,为该方法提供了参数个数可变的能力
它在只能出现一次并且不能在其后再有参数定义,之前可以

class App
    {
       
//第一个参数必须是整型,但后面的参数个数是可变的。
       
//而且由于定的是object数组,所有的数据类型都可以做为参数传入
       
public static void UseParams(int id, params object[] list)
        {
            Console.WriteLine(id);
           
for (int i = 0; i < list>)
            {
                Console.WriteLine(list[i]);
            }
        }

       
static void Main()
        {
           
//可变参数部分传入了三个参数,都是字符串类型
            UseParams(
1, "a", "b", "c");
           
//可变参数部分传入了四个参数,分别为字符串、整数、浮点数和双精度浮点数数组
            UseParams(
2, "d", 100, 33.33, new double[] { 1.1, 2.2 });

            Console.ReadLine();
        }
    }

mrliang
6楼 · 2020-07-06 15:41

C#开发语言中 params 是关键字,可以指定在参数数目可变处采用参数的方法参数。在函数的参数数目可变而执行的代码差异很小的时候很有用

种提供参数数目可变的参数传递方法。任意数目的参数可转化为一个数组。 params 关键字在方法成员的参数列表中使用,为该方法提供了参数个数可变的能力

相关问题推荐

没有解决我的问题,去提问