用C#的params关键字实现方法形参个数可变示例

2021-04-25 11:24

阅读:487

标签:技术分享   获取   源代码   代码   center   线程   类型   学习   mysq   

个人认为,提供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等任何类似于数组的集合类型。

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关键字实现方法形参个数可变示例

本文地址:  http://www.paobuke.com/develop/c-develop/pbk23465.html




相关内容

技术分享图片
C#使用MCI创建的视频或声音播放器 源代码下载
技术分享图片
C#连接MySQL的两个简单代码示例
技术分享图片
C#????ì¨ó|ó?3ìDò?Dê?3?2êé?×?ì?
技术分享图片
C#中Timer使用及解决重入问题

技术分享图片
C#中常用的正则表达式实例
技术分享图片
C#算法函数:获取一个字符串中的最大长度的数字
技术分享图片
c#通过DES加密算法加密大文件的方法
技术分享图片
C#多线程学习之(五)使用定时器进行多线程的自动管理

用C#的params关键字实现方法形参个数可变示例

标签:技术分享   获取   源代码   代码   center   线程   类型   学习   mysq   

原文地址:http://www.cnblogs.com/paobuke/p/7920030.html


评论


亲,登录后才可以留言!