1、params关键字的作用

(1)、使用 params关键字可以指定一个方法参数,该方法参数的数目可变。

(2)、可以发送参数声明中所指定类型的逗号分隔的参数列表或指定类型的参数数组。 还可以不发送参数。 如果未发送任何参数,则 params 列表的长度为零。

(3)、在方法声明中的 params 关键字之后不允许任何其他参数,并且在方法声明中只允许一个 params 关键字。

代码如下:

static void Main(string[] args)
{int[] myIntArray = { 5, 6, 7, 8, 9 };UseParam1(myIntArray);object[] myObjArray = { 2, 'b', "test", "again" };UseParam2(myObjArray);
}
static void UseParam1(params int[] args) {for (int i = 0; i < args.Length; i++){Console.WriteLine(args[i] + "...");}
}static void UseParam2(params object[] objs)
{for (int i = 0; i < objs.Length; i++){Console.WriteLine(objs[i] + " ");}
}

输出:

2、总结分析

(1)当参数的类型定义成param int[] args时,这时UseParam方法就接收一个可变长的int类型的参数数组,注:只能是一维的,不能是二维的,要是二维的就乱套了

所以,UseParam方法的调用方式就有两种:

i、代码如下:

UseParam(1,2,3,4,5);

ii、代码如下:

int[] args={1,2,3,4,5};
UseParam(args);

(2)当参数的类型定义成param object[] args时,这是UseParam就接收一个可变长的object类型的参数数组,注:只能是一维的,不能是二维的,要是二维的就乱套了

所以,UseParam方法的调用方式就有两种:

i、代码如下:

UseParam(1,"2",true,"a")

ii、代码如下:

object[] args={1,2,"3",false,5};
UseParam(args);

转载于:https://www.cnblogs.com/GreenLeaves/p/6756637.html

C# params关键字相关推荐

  1. C#类方法中使用数组参数params关键字的作用

    参数数组(params)关键字可以指定在参数数目可变处采用参数的方法参数. 在方法声明中的 params 关键字之后不允许任何其他参数,并且在方法声明中只允许一个 params 关键字. 先定义一个带 ...

  2. java params 关键字_转载------C# ref 和 out ,params关键字的用法

    一.ref 的用法--引用 C#提供一种强制按引用传递参数的方法.这种方法既能用在值类型上,也能用在引用类型上. 就是同时在方法的声明和调用上使用 ref 关键字. using System; cla ...

  3. c#中params关键字应用

    c#params应用 params 是C#开发语言中关键字, params主要的用处是在给函数传参数的时候用,就是当函数的参数不固定的时候. 在方法声明中的 params 关键字之后不允许任何其他参数 ...

  4. C#params关键字详解

    params关键字 1.params是ParamArrayAttribute(参数数组属性)的缩写 2.param解决了C#中不定参数的传递的问题 3.不定参数:不确定参数的个数 4.params将不 ...

  5. C#参考之方法参数关键字:params、ref及out

    params 使用 params 关键字可以指定采用数目可变的参数的方法参数. 可以发送参数声明中所指定类型的逗号分隔的参数列表或指定类型的参数数组. 还可以不发送参数. 如果未发送任何参数,则 pa ...

  6. C# 参考之方法参数关键字:params、ref及out

    如果在为方法声明参数时未使用 ref 或 out,则该参数可以具有关联的值.可以在方法中更改该值,但当控制传递回调用过程时,不会保留更改的值.通过使用方法参数关键字,可以更改这种行为. params ...

  7. C# 参考之方法参数关键字:params、ref及out (收集)

    如果在为方法声明参数时未使用 ref 或 out,则该参数可以具有关联的值.可以在方法中更改该值,但当控制传递回调用过程时,不会保留更改的值.通过使用方法参数关键字,可以更改这种行为. params ...

  8. 方法参数关键字:params、ref及out

    如果在为方法声明参数时未使用 ref 或 out,则该参数可以具有关联的值.可以在方法中更改该值,但当控制传递回调用过程时,不会保留更改的值.通过使用方法参数关键字,可以更改这种行为. params ...

  9. C#低频关键字params用法,什么时候用?

    C#中有一个关键字params,它相对于一些主要关键字来说,还算是较为低频的,但也会用到.我们可以了解和学习下. 关于中文编程,这是为了给您看起来方便,您实际编码时不宜使用中文. 一.定义及约束 pa ...

最新文章

  1. 英国帝国理工出品:SSIM对抗攻击
  2. android UI进阶之实现listview的分页加载
  3. 接口和抽象类是否继承了Object
  4. 典型排序算法(C语言实现)
  5. 金色装饰素材,用这个技巧创造节日的感觉,完美
  6. mysql中的表显示“使用中”解决办法!
  7. 2017-2018-1 20179202《Linux内核原理与分析》第四周作业
  8. 收下这10个终身学习资源号,Max你的工作效率
  9. 比rufus/scheduler更独立简洁的定时脚本必备whenever
  10. db4o发布7.2,出现.NET 3.5版本,支持LINQ
  11. 软件项目管理第四章笔记---项目时间管理
  12. 将磁盘分区标记为活动分区后取消
  13. 2021计算机一级选择题必背知识点,2021年度全国计算机等级考试MSOffice选择题必考.doc...
  14. 上课案列-翻牌游戏(重置、历史记录)
  15. 如何让大中药丸子便于下咽, 2021年3月11日 更新 同样适用于中药粉
  16. 手把手教你开发基于深度学习的人脸识别【考勤/签到】系统
  17. 费马小定理以及快速幂应用
  18. 基于Android studio的语音播报功能
  19. 解决新能源充电难!小桔充电牵手南网电动,共建充电场站
  20. Delphi 中TPath单元引用报错无法编译问题

热门文章

  1. C#筛法求出范围内的所有质数
  2. 嵌入式开发之davinci--- ipnc中用到的cmem
  3. 浅谈loadrunner中pacing设置
  4. 将您的窗口最前端显示
  5. python学习干货教程(5):#!/usr/bin/python
  6. java中表示二进制、八进制、十进制、十六进制,double、float、整型
  7. SQLServer中Case的用法
  8. JSON反序列的问题原因查找
  9. Ext2.0布局类初探
  10. TiDB 源码阅读系列文章(十八)tikv-client(上)