解说函数 参数.pptVIP

  • 8
  • 0
  • 约6.63千字
  • 约 23页
  • 2017-12-01 发布于湖北
  • 举报
函数参数

2.9.4 参数数组 4. 参数数组 一般而言,调用方法时其实参必须与该方法声明的形参在类型和数量上相匹配,但有时候我们更希望灵活一些,能够给方法传递任意个数的参数,比如在三个数中找最大、最小和在5个数中找最大、最小甚或任意多个数中找最大、最小能使用同一个方法。C#提供了传递可变长度的参数表的机制,即使用params关键字来指定一个参数可变长的参数表。 【例4】求一组数的和 * Company Logo 2.9.4 参数数组 static void Main(string[] args) { int sum = SumVals(1, 2, 5); //任意一组数 Console.WriteLine(sum); } //参数数组,表示在一组数中返回一个特定值 static int SumVals(params int[] vals) { int sum = 0; foreach (int val in vals) { sum += val; } return sum; } * Company Logo 2.9.4 参数数组 从上面例程中可以看出设立可变参数非常方便也很实用。但在使用时要注意以下几点: (1) 一个方法中只能声明一个params参数,如果还要其他常规参数,则params参数应放在参数表的最后。 (2) 用params修饰符声明的参数是一个一维数组类型,例如,可以是int [ ], string [ ], double [ ], 或int [ ] [ ], string [ ]等,但不能是int [ , ], string [ , ]等。 (3) 由于params参数其实是一个数组,所以在调用时可以为参数数组指定零个或多个参数,其中每个参数的类型都应与参数数组的元素类型相同或能隐式地转换。 (4) 当调用具有params参数的方法时,可以作为一个元素列表(如:m.MaxMin (smax, smin, 45, 76, 89, 90 );)或作为一个数组(如:m.MaxMin (out smax, out smin, score);)传递给params参数。 (5) 无论采用哪种方式来调用方法,params参数都是作为一个数组被处理。所以在方法内可以使用数组的长度属性来确定在每次调用中所传递参数的个数。 (6) params参数在内部会进行数据的复制,不可能将params修饰符与ref和out修饰符组合起来用。所以在这个方法中即使对参数数组的元素进行了修改,在这个方法之外的数值也不会发生变化。 * Company Logo 课堂练习2 添加函数CalSum(),该函数可以计算任意个数的整型数据的和。在主函数中调用该函数,分别计算1-5的和,1-10的和。图为执行程序的结果图。 * Company Logo . L o g o L o g o L o g o Company Logo L o g o Company Logo L o g o Company Logo L o g o Company Logo L o g o Company Logo L o g o Company Logo L o g o Company Logo L o g o Company Logo L o g o Company Logo L o g o Company Logo L o g o Company Logo 2.8 函数定义 定义函数的语法 static 返回值类型 函数名(参数类型 参数1,参数类型 参数2,… …, 参数类型 参数n) { return 返回值;//这个值的类型必须和前面的返 回值类型一致 } 没有返回值的方法,返回值类型写为void,return语句可以省略或者后面不接返回值。没有参数的函数也要在函数后面写上空() 调用函数的语法 函数名(参数1,参数2,… …,参数n); * Company Logo 2.8 函数定义 例: static int Add(int num1,int num2) { return num1+num2; } static void Main() { int a=3; int b=6; int c=Add(a,b); Console.WriteLine(c); } 函数定义和调用练习 * Company Logo 2.8 函数定

文档评论(0)

1亿VIP精品文档

相关文档