一、什么是可变参数

方法声明时,使用params修饰符声明的参数。

二、params使用时注意事项

1、params必须位于方法参数最后,并且在方法声明中只允许有一个 params 关键字

2、params后面必须跟一个数组

3、与参数数组对应的实参可以是同一类型的数组,也可以是任意多个与该数组的元素属于同一类型的变量

4、若实参是数组则按 引用传递,若实参是变量或表达式则按值传递

5、不允许将params修饰符与ref和out修饰符组合起来使用

三、params的使用

1、传递跟可变参数数组类型一致的元素

static void Main(string[] args)
{//将实参列表中跟可变参数数组类型一致的元素都当做数组的元素去处理SubjectScore("张三", "语文成绩:100", "数学成绩:100", "英语成绩:100");
}public static void SubjectScore(string name,params string[] subscore)
{for (int i = 0; i < subscore.Length; i++){Console.WriteLine($"{name}的{subscore[i]}");}Console.Read();
}

2、传递一个数组

static void Main(string[] args)
{//将实参列表中跟可变参数数组类型一致的元素都当做数组的元素去处理string[] scorearr = { "语文成绩:100", "数学成绩:100", "英语成绩:100" };SubjectScore("张三", scorearr);
}public static void SubjectScore(string name,params string[] subscore)
{for (int i = 0; i < subscore.Length; i++){Console.WriteLine($"{name}的{subscore[i]}");}Console.Read();
}

3、无参

static void Main(string[] args)
{SubjectScore("张三");
}public static void SubjectScore(string name,params string[] subscore)
{for (int i = 0; i < subscore.Length; i++){Console.WriteLine($"{name}的{subscore[i]}");}Console.Read();
}

C# 可变参数params相关推荐

  1. 浅谈C#可变参数params

    前言 前几天在群里看到群友写了一个基础框架,其中涉及到关于同一个词语可以添加多个近义词的一个场景.当时群友的设计是类似字典的设计,直接添加k-v的操作,本人看到后思考了一下觉得使用c#中的params ...

  2. c# 方法参数 传值or传引用?(ref,out,可变参数params,可选参数,命名参数)

    目录 一.方法参数的类型----值类型和引用类型 二.一些特殊的方法参数 1.引用参数---ref 2.输出参数---out 注意:ref和out的区别 3.可变参数/参数数组-----params ...

  3. 返回多个不同类型参数的值(out)可变参数一维数组( params )把值从方法中带出(ref) 方法递归(方法自己调用自己与循坏类似注意return每次只能跳出一个方法))...

    //out参数  如果需要在方法中,返回多个值,并且是不同类型,可以使用out参数帮助我们返回.  out参数就是帮助我们在方法中返回多个不同类型的值.  out参数必须在方法的内部为其赋值,而在方法 ...

  4. C# 编程入门第七课方法调用参数问题,方法标准,传递数组,返回数组,方法高级参数(out关键字参数,ref参数,params可变参数),方法重载,方法的递归,一些常用方法

    C# 编程入门第七课 文章目录 C# 编程入门第七课 1. 方法调用参数问题 2. 方法标准 3.传递数组,返回数组 4. 方法高级参数 4.1 out 关键字参数 4.2 ref 参数 4.3 pa ...

  5. 可变参数中size_t遇见的问题

    在修改php扩展Trie时,出现了一个小bug PHP_FUNCTION(trie_filter_load) {Trie *trie;char *path;int path_len;if (zend_ ...

  6. 01-java基础加强,eclipse工具使用,快捷键,断点调试,单元测试,jdk5新特性,增强for循环,集合map,list,可变参数,枚举,反射,泛型

    一.eclipse工具的使用 1. java代码的位置 1) 选择工作空间 workspace  选择一个文件夹存放程序(代码) 不要用中文和空格 2) 新建一个java 工程(Project) 3) ...

  7. C# 中的可变参数方法(VarArgs)

    首先需要明确一点:这里提到的可变参数方法,指的是具有 CallingConventions.VarArgs 调用约定的方法,而不是包含 params 参数的方法.可以通过MethodBase.Call ...

  8. 【Java】Java反射调用可变参数的方法

    文章目录 1.概述 1.概述 因为要Java反射调用可变参数的方法,所以参考了这篇文章:https://www.cnblogs.com/huqingchen/p/5979936.html 但是测试过程 ...

  9. java 参数 python_java可变参数

    可变参数java1.5增加了新特性:可变参数:适用于参数个数不确定,类型确定的情况,java把可变参数当做数组处理. 注意:可变参数必须位于最后一项. 原因:当可变参数个数多余一个时,必将有一个不是最 ...

最新文章

  1. 顶尖技术专家严选,15场前沿论坛思辨,2019中国大数据技术大会邀您共赴
  2. 在JavaScript中使用正好两位小数格式化数字
  3. 数据结构实验之链表五:单链表的拆分
  4. 20分钟教你手写Sping MVC
  5. 设计模式之依赖倒转原则
  6. oracle什么是重复组,规范化:“重复组”是什么意思?
  7. 4款深度学习框架简介,初学者该如何选择?
  8. Jsoup进阶之获取指定数据
  9. 基于ssm的城市公交查询系统的设计与实现(附源码)
  10. 数字信号处理-希尔伯特变换
  11. freekan电影网站制作教程
  12. safri 对于display:block;的元素显示不出来 其他所有浏览器均正常
  13. IDOC的处理函数IDOC_INPUT_ORDERS的增强点的分析
  14. python 利用opencv实现颜色检测
  15. 华为交换机如何恢复出厂设置
  16. Resilio Sync 无法获取追踪器列表 解决方法
  17. 关于前端上传文件到后台,文件大小超出限制,导致上传失败的解决办法。
  18. OFD文件转换支持PDF,PNG,GIF,BMP
  19. win7任务栏右下角图标空白解决办法
  20. IDEA中如何设置键盘快捷键可用

热门文章

  1. 一键还原精灵 v5.0 个人版 是什么
  2. Linux——进程间通信(共享内存【mmap实现+系统V】)
  3. dex文件在模拟器测试运行
  4. linux下各类常用make命令解释(make/make clean/make distclean)
  5. jmeter最大请求数_jmeter支持的最大线程数
  6. IMSI与MSISDN
  7. unity 打字机变色效果
  8. 3.5 cheerio文档
  9. 奥运歌曲推荐:《唱响奥运》铃声 奥运歌曲推荐:《唱响奥运》...
  10. HDU1880 (2020.3.12训练D题)