欢迎您访问我爱IT技术网,今天小编为你分享的编程技术是:【用C#中的params关键字实现方法形参个数可变】,下面是详细的讲解!
用C#中的params关键字实现方法形参个数可变
例如,下面代码:实现了一个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参数的用法!!!!
答://参数可以为多个int型,例如GetWord("This is a dag.", 2);返回"a" //而GetWord("This is a dag.", 1, 2);则返回"is a" //GetWord("This is a dag.", 0, 2);返回"This a" public string GetWord(string s,params int[] n) { string value=""; s... >>详细
相关问题:C# 方法调用时params如何传入指定参数
答:1. 参数数组-----params(可以将相同类型,数量可变的多个参数传给一个方法) 2. 引入:一般,参数的数量都是由目标方法声明所确定。然而,有时我们希望参数的数量是可变的。或许最好的方法是为方法传一个数组。然而,这会使调用代码变得稍微复... >>详细
相关问题:c#中函数中的params参数
答:你没有理解清楚params .可以这样理解: static void Main(string[] args) { Console.WriteLine(SumVals(1,2,3,4,5).ToString()); //传入5个整数 Console.WriteLine(SumVals(2,4,6,8).ToString()); //传入4个整数 int[] arr=new int[]{1,2,3}; Con... >>详细
- 【asp】asp.net url重写浅谈-net-url重写
- 【DataSet】DataSet、DataTable、DataRow区别详解
- 【asp】asp.net 动态添加多个用户控件-net-动态添
- 【创建】ASP.NET Web API教程 创建域模型的方法详
- 【Asp】Asp.net 页面调用javascript变量的值-net-
- 【asp】asp.net ubb使用代码-net-ubb使用
- 【默认图片】图片不存在使用默认图片代替的实例
- 【asp】asp.net 页面转向 Response.Redirect Ser
- 【jQuery】jQuery实现倒计时跳转的例子-倒计时跳
- 【记住】ASP.NET记住登陆用户名的具体实现-登陆-
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
