用C#中的params关键字实现方法形参个数可变
来源:互联网 发布:js canvas动画 编辑:程序博客网 时间:2024/05/21 11:05
个人认为,提供params关键字以实现方法形参个数可变是C#语法的一大优点。在方法形参列表中,数组类型的参数前加params关键字,通常可以在调用方法时代码更加精练。
例如,下面代码:
class Program{static void Main(string[] args){Console.WriteLine(Sum(1));Console.WriteLine(Sum(1, 2, 3));Console.WriteLine(Sum(1, 2, 3, 4, 5));Console.ReadKey();}private static int Sum(params int[] values){int sum = 0;foreach (int value in values)sum += value;return sum;}}
实现了一个Sum方法,用于接收一组整数,并返回它们的和。参数values被加上params关键字后,在调用时可以在实参列表中列举出这组整数中的每个元素,非常方便。
关于params关键字的用法,需要注意以下几点:
1. params只能用于一维数组,不能用于多维数组和诸如ArrayList、List<T>等任何类似于数组的集合类型。
2. 被加上params关键字的形参,必须是形参列表中最后一个形参,并且方法声明中只允许一个 params 关键字。
3. 用params关键字的方法,有四种调用形式:
第一种,列举出数组各元素:Sum(1,2,3),这也是最常用的形式;
第二种,像没有加params关键字的数组形参那样,用数组名做实参:Sum(new int[]{1,2,3})或int n=new int[]{1,2,3};Sum(n);;
第三种,加params关键字的参数在调用时可以省略:Sum();//返回0;这种方式有时可以少定义一个方法重载,但当明确定义了重载int Sum()时,编译器会优先调用int Sum(),而不是Sum(params int[] values)。而且省略params型参数,方法内部仍会new一个元素个数为0的数组,效率略查。
第四种,不省略params型参数,用null代替,效率比第三种略高,因为其内部不会new这个数组。
- C#中的params关键字实现方法形参个数可变
- 用C#中的params关键字实现方法形参个数可变
- c#中的params 关键字
- C#中的params关键字
- C#中的 params、 ref、out关键字,方法返回多个值
- C#中params 关键字可以指定在参数数目可变处采用参数的方法参数
- 可变个数形参方法
- params关键字实现给方法传入不指定个数的多参数方法
- C#中的params关键字的用法
- params关键字给方法传递可变数量的参数
- 可变数目参数:params关键字
- C#中求任意个数的最大值 使用params关键字
- C# params关键字
- C# params关键字
- C#关键字之params
- C# 参数关键字params
- C# params关键字
- 形参个数可变的方法
- 我所认为的高级软件工程师
- 多屏幕设计——实现适应性的UI布局
- MSSQL SERVER中出现服务器MSDTC不可用的解决方法
- 读写Excel文件(1)
- ls 输出结果的逐条解释
- 用C#中的params关键字实现方法形参个数可变
- Create a Button with an Image and Text [Android]
- camcorder effect support
- 当前标识没有对“C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files”的写访问权限。
- oracle期末(三)
- java 运行环境classes目录
- http协议学习和总结系列
- Android Graphic : apk and Skia/OpenGL|ES
- linux设备驱动开发学习笔记一