C#中的关键字params的用法

C#中有一个关键字params,它相对于一些主要关键字来说,还算是较为低频的,但也会用到。我们可以了解和学习下。

一、定义及约束

params关键字的作用在于可以让方法参数的数目可变。

params的参数类型必须是一维数组。

一旦在方法加入了params关键字之后,它的后面就不能再有任何其它参数了。换句话说就是,params必须放在方法的所有参数的最后。

方法中只能允许一个params关键字。

csharp 复制代码
public void 做饭(家庭成员 主厨, 家庭成员 洗菜)
{
 
}


public void 做饭(params 家庭成员[] members)
{
 
}

如上图,我们有一个"做饭"的方法,做饭的时候,可能有1个人去做饭,也可能2个,也还可能3个人。就是说,我们不确定到时候到底有几个人想去做饭,如果我们把"做饭"这个方法的参数写死,就限制了只能2个人去,如果要再加一个人去帮忙,该方法就不适用了,需要重载。

在不使用重载的情况下,您直接使用params关键字,可以一次性解决将来的业务问题。比如某天做饭的时候,没一个人想做饭,大家就只能点外卖喽。

二、使用

调用包含有params参数的方法时:

1.可以传入按数组元素类型指定的参数的逗号分隔列表。如下图红圈,直接逗号传入。

2.直接传入方法中指定的数组元素类型的数组。如下图,数组传入:

3.允许传0个参数,即不使用该参数都是可以的。无参数时,params列表的长度有值且为0。如下图,不传参数亦可:

三、使用场景举例

params的使用场景在于您不确定方法中该含有几个参数的时候使用。

像上面有说过,比如做饭时,您不确定几人参与,就可以使用。

又比如学校的班级系统,统计科目与分数之前的关系,在科目不确定的情况下,可能会使用上这个参数。

又比如Revit二次开发时,需要用户在界面上选点,但是用户选几个点,事先是不知道的,所以用params关键字就很好使。

又比如,我们可能会一些生产作业系统,需要监控一些关键数据,我们想监控哪些,在生产实操时,可能是变化的,就可以使用params关键字。

相关推荐
知无不研1 小时前
c语言中循环的介绍与简单应用
c语言·开发语言·算法·循环·for·while
HRTOS2 小时前
HRTOS 4.0 驱动库:06_Storage 存储设备驱动——24C02 EEPROM与I²C驱动开发
c语言·驱动开发·嵌入式硬件·51单片机
雨田言炎6 小时前
2026/9/5 C复习笔记(一)
c语言·笔记
wuyk5557 小时前
从零吃透 MQTT 通信|第 5 章 MQTT 心跳保活机制深度优化,断线检测与智能自动重连
c语言·开发语言·stm32·学习
luj_17689 小时前
虚实交融中的真实人物塑造
c语言·开发语言·网络·经验分享·算法
AC赳赳老秦9 小时前
农产品公开数据应用:OpenClaw 抓取农产品价格、产销公开数据,实现农产品行情动态监测
java·c语言·javascript·python·php·deepseek·openclaw
hope_wisdom10 小时前
C/C++数据结构之二叉树的遍历
c语言·数据结构·c++·二叉树·深度优先·广度优先
一木 之林11 小时前
五、C++ 新特性、关键字与编译原理(进阶)(一)
c语言·开发语言·c++
是隼人12 小时前
buuctf-pwn wustctf2020_closed(文件描述符)题解(学习过程持续更新)
c语言·学习·安全·pwn入门·ctf入门
是隼人13 小时前
buuctf-pwn wdb_2018_3rd_soEasy(ret2shellcode)题解(学习过程持续更新)
c语言·学习·安全·pwn入门·ctf入门