c# 方法可变数量的参数

时间:2023-10-06 07:31:21 

声明一个可变数量的参数:


Static int Add(params int[] values)
{
int sum = 0;
if(value != null)
{
for(int x = 0;x<values.Length;x++)
sum += values[x];
}
return sum;
}


上面这个方法除去params,是一个普通的方法,接受int数组,返回组中的所以项之和。

我们可以这样调用:Add(new int[]{1,2,3});

但是阅读性不是很高,我们希望能更简洁:

Add(1,2,3);

这时,由于params关键字,是可以编译通过和运行的。

params只能应用于方法参数中的最后一个。

在c#编译器发现Add(1,2,3)时,会先寻找是否有Add(int i,int j,int k)匹配的方法,
如果有就调用,没有,就寻找是否有定义为Add(params int[] values)的方法,

如果有就把1、2、3先保存到一个数组里,然后调用Add(int[] values)方法。
这里也说明CLR对params关键字是一无所知的,params只是提供给c#编译器使用的。

标签:数量,参数
0
投稿

猜你喜欢

  • 使用Jackson反序列化遇到的问题及解决

    2023-11-13 21:12:14
  • Java把数字格式化为货币字符串实例代码

    2022-10-13 23:17:27
  • 利用Thumbnailator轻松实现图片缩放、旋转与加水印

    2022-03-26 18:44:04
  • Java 实现repalceAll只替换第二个匹配到的字符串

    2021-06-12 11:56:20
  • Java在Excel中创建透视表方法解析

    2021-11-03 05:49:45
  • Unity中C#和Java的相互调用实例代码

    2022-02-28 13:40:53
  • 利用C#9.0新语法如何提升if语句美感

    2021-06-15 12:48:54
  • 一文搞懂String的intern()方法

    2022-05-28 12:05:35
  • SpringBoot实现单文件与多文件上传功能

    2023-03-22 23:44:11
  • 基于struts2和hibernate实现登录和注册功能

    2022-03-23 00:27:43
  • Android开发环境安装和配置图文教程

    2023-08-04 16:58:26
  • Spring自动装配Bean实现过程详解

    2023-10-31 18:35:21
  • Android触屏测试实例代码

    2023-05-30 07:15:08
  • Java算法设计与分析分治算法

    2022-04-02 08:07:15
  • Java 守护线程_动力节点Java学院整理

    2023-11-28 07:51:14
  • Android基于TextView属性android:ellipsize实现跑马灯效果的方法

    2022-09-28 15:59:55
  • IntelliJ IDEA安装插件阿里巴巴Java开发手册(Alibaba Java Coding Guidelines)

    2023-10-17 11:30:02
  • Java修饰符 abstract,static,final 的区别详解

    2023-12-19 22:11:25
  • java使用dom4j生成与解析xml文档的方法示例

    2022-06-18 23:41:56
  • dotnet core链接mongodb代码实例

    2023-07-20 14:26:09
  • asp之家 软件编程 m.aspxhome.com