若有需要,请先阅读参数学习的上篇:C#基础之参数(一) 值参数、引用参数与输出参数
这次介绍的三个参数皆属于语法糖。
4.数组参数
声明方法时,在形参前加params关键字。简化了参数调用,增加了可读性。 用法: (1)在参数为数组时使用 (2)每个方法只能有一个数组参数。且要作为最后一个参数。(只有放在最后,调用方法时编译器才能知道哪些实参属于数组参数) (3)调用方法可以将数组中的值一个个列出,而不用传一个数组对象(当然,传一个数组对象也是没有错的)。
示例:
1 class Program 2 { 3 static void Main(String[] args) 4 { 5 int sum; 6 bool b = Add(out sum, 1, 2, 3, 4); 7 if (b) 8 { 9 Console.WriteLine(sum); 10 } 11 } 12 public static bool Add(out int sum, params int[] a) 13 { 14 try 15 { 16 sum = 0; 17 foreach (int item in a) 18 { 19 sum += item; 20 } 21 return true; 22 } 23 catch (Exception) 24 { 25 sum = 0; 26 return false; 27 } 28 } 29 }输出为:
10
实际上,这时微软为我们包装的语法糖。编译器会将1,2,3,4存在一个int数组中,并将数组传递给方法。
5.可选参数
用法: (1)在方发声明时,为可选参数制定一个默认值。 (2)可选参数的默认值必须是一个常量。 (3)可选参数必须出现在所有必须参数之后,否则编译器报错。(如图) 事实上,在调用方法时,编译器会按顺序把实参依次赋值给形参,若实参的个数少于形参,则未被赋值的形参会取默认值。
示例:
class Program { static void Main(String[] args) { int i = Add(4); Console.WriteLine(i); i = Add(1, 2); Console.WriteLine(i); } public static int Add(int x, int y = 5, int z = 6) { return x + y + z; } }输出为:
15 96.命名参数
用法: (1)调用方法时,显式地说明实参所对应的实参的名字。 (2)不必按顺序输入参数。 (3)调用方法时,若某个参数命名,则之后的所有参数都需要命名。否则编译器会报错。
命名参数的主要作用是,对于某些参数繁多的方法,可以增加代码可读性,避免参数顺序的错误。
示例:
1 class Program 2 { 3 static void Main(String[] args) 4 { 5 int i = Add(5, secondInt: 6); 6 Console.WriteLine(i); 7 } 8 public static int Add(int firstInt,int secondInt) 9 { 10 return firstInt + secondInt; 11 } 12 }posted on 2017-11-17 18:51 小顶山人 阅读( ...) 评论( ...) 编辑 收藏
转载于:https://www.cnblogs.com/vsSure/p/7852975.html
