params关键字应用

params 是C#中的可变参数, params主要的用处是在给函数传参数的时候用,就是当函数的参数不固定的时候。  关于参数数组,需掌握以下几点。   

(1)在方法声明中的 params 关键字之后不允许任何其他参数,并且在方法声明中只允许一个 params 关键字;    

(2)参数数组必须是一维数组;   

(3)不允许将params修饰符与ref和out修饰符组合起来使用;   

(4)与参数数组对应的实参可以是同一类型的数组名(例子 24行),也可以是任意多个与该数组的元素属于同一类型的变量(例子 21、22行);   

(5)若实参是数组则按引用传递,若实参是变量或表达式则按值传递。  

 

实参(argument):
全称为"实际参数"是在调用时传递给函数的参数. 实参可以是常量、变量、表达式、函数等, 无论实参是何种类型的量,在进行函数调用时,它们都必须具有确定的值, 以便把这些值传送给形参。 因此应预先用赋值,输入等办法使实参获得确定值。      
 
形参(parameter):
全称为"形式参数" 由于它不是实际存在变量,所以又称虚拟变量。是在定义函数名和函数体的时候使用的参数,目的是用来接收调用该函数时传入的参数.在调用函数时,实参将赋值给形参。因而,必须注意实参的个数,类型应与形参一一对应,并且实参必须要有确定的值。

形式为:方法修饰符 返回类型 方法名(params 类型[] 变量名) 如带有参数的SQL 语句,不同的表的字段数量也不同, 当你更新修改的时候就可以用。例如:

 1 params using System;
 2 public class MyClass
 3 {
 4     public static void UseParams(params int[] list)
 5    {
 6        for (int i = 0 ; i < list.Length; i++)
 7       { Console.WriteLine(list[i]); }
 8       Console.WriteLine();
 9    }
10    public static void UseParams2(params object[] list)
11    {
12      for (int i = 0 ; i < list.Length; i++)
13       { 
14       Console.WriteLine(list[i]); 
15    }
16       Console.WriteLine();
17    }
18 
19    static void Main()
20    {
21     UseParams(1, 2, 3);
22     UseParams2(1, 'a', "test");
23     int[] myarray = new int[3] {10,11,12};
24     UseParams(myarray);
25 
26   }
27 
28 }

  输出:1231atest101112

posted @ 2018-11-15 15:55  在西天取经的路上……  阅读(473)  评论(0编辑  收藏  举报