使用参数数组的注意事项:
1. 只能在一维数组上使用params关键字。
2. 不能重载一个只基于params关键字的方法。params关键字不构成方法的签名的一部分。
如:
//编译时错误:重复访问
public static int Min(int [] paramList)
.............
public static int Min(params int [] paramList)
.............
3. 不允许ref或out params数组
//编译时错误
public static int Min(ref params int [] paramList)
.............
public static int Min(out params int [] paramList)
.............
4. params 数组必须是方法的最后一个参数(也就是只能有一个params数组参数)
public static int Min(params int [] paramList,int i)
.............
5. 编译器会检查并拒绝任何可能有歧义的重载
6. 非params方法总是优先于一个params方法。也就是说,如果愿意,仍然可以为普通情况创建一个方法的重载版本,

如:public static int Min(int leftHandSide,int rightHandSide)
优于:public static int Min(params int [] paramList)using System;
public class MyClass {public static void UseParams(params int[] list) {for (int i = 0; i < list.Length; i++) {Console.WriteLine(list[i]);}Console.WriteLine();}public static void UseParams2(params object[] list) {for (int i = 0; i < list.Length; i++) {Console.WriteLine(list[i]);}Console.WriteLine();}static void Main() {UseParams(1, 2, 3);UseParams2(1, 'a', "test");An array of objects can also be passed, as long asthe array type matches the method being called.int[] myarray = new int[3] { 10, 11, 12 };UseParams(myarray);}
}程序的输出结果如下:
1
2
31
a
test10
11
12

转载于:https://www.cnblogs.com/shy1766IT/p/6714716.html

参数数组(params)的用法相关推荐

  1. 函数,参数数组params与数组参数,结构函数

    1.函数 static 返回值类型 函数名(形参1,形参2,...){        函数体;        return 返回值; } 无返回值,则static void 函数名(){ } stat ...

  2. 【Python自查手册】之带参数请求params的用法

    params, 可以让我们带着参数来请求数据:我想要第几页?我想要搜索的关键词?我想要多少个数据? headers, 请求头.它告诉服务器,我的设备/浏览器是什么?我从哪个页面而来? 带参数请求,实现 ...

  3. C#交错数组和参数数组

    交错数组 交错数组的声明和初始化 int[][] array ; 声明交错数组array = new int[n][] ; 创建一个包含n个元素的交错数组,交错数组的元素就是一维数组array[0] ...

  4. C#中的params的用法(可变数组)

    最近小编看C#视频,听到小杨老师讲到可变数组,涉及到一个param修饰符,有点不太明白,于是小编站在巨人的肩膀上开始了探索和学习,略有了解,分享给大家哟~ [一]params是什么? params是一 ...

  5. 灵活而又可怕的params参数数组

    某日,我们一项目重构,不小心为一个类增加了一个Delete(string key)的方法,编译通过,初看无恙,但一执行起来就不是那么回事了,仔细一查,才知道,类中有一个同名的重载方法,参数为一个par ...

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

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

  7. java args用法_Java中args参数数组的用法说明代码

    本篇文章小编给大家分享一下Java中args参数数组的用法说明代码,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看. main方法args参数用于接收用户 ...

  8. C#可选参数、命名参数、参数数组

    学习了C#4.0的新特性:可选参数.命名参数.参数数组. 1.可选参数,是指给方法的特定参数指定默认值,在调用方法时可以省略掉这些参数. 但要注意: (1)可选参数不能为参数列表的第1个参数,必须位于 ...

  9. foreach用法_25个你不得不知道的数组reduce高级用法

    作者:JowayYoung 仓库:Github.CodePen 博客:掘金.思否.知乎.简书.头条.CSDN 公众号:IQ前端 联系我:关注公众号后有我的微信哟 特别声明:原创不易,未经授权不得对此文 ...

最新文章

  1. jmeter对自身性能的优化
  2. 基于倒谱法和线性预测法估计基音频率(MATLAB和Python)
  3. bfs理解——hdu6386好题
  4. java 正则出特殊字符_java正则_特殊字符处理
  5. 基于生命周期理论的农业科学数据中心化管理模式
  6. libevent 源码深度剖析十三
  7. JavaScript 读取地址栏参数
  8. 波士顿动力又有新视频:机器狗要开门,人类真是拽不回来
  9. 据说,上次获奖的同学拿了奖金泡了班花还get到了2个offer
  10. HTMLCSS入门学习
  11. cad添加自己线性_如何在CAD中添加自行创建的线型
  12. 电子计算机审计,计算机审计存在的风险
  13. 有关单片机驱动IR2104遇到的问题及解决方法
  14. 【技术沙龙】星火计划 | 腾讯自研Kona JDK技术分享沙龙火热报名中
  15. 小程序分享,禁用分享,解除禁用分享
  16. 渗透测试之信息收集 -tryhackme-Content Discovery
  17. 13 MCMC(Markov Chain Monte Carlo)
  18. verilog之分频大全
  19. Opencv__模板匹配(上)
  20. 阿里心电图数据特征分析

热门文章

  1. 386个Linux发行版本中 你用过Ubuntu吗?
  2. 时间加密算法_物联网安全:可计算加密算法
  3. 简述一下索引的匹配原则_Mysql联合索引最左匹配原则
  4. c++ qt获取电脑的内存_QT开发(十四)——QT绘图系统
  5. 计算机组成与结构r形式,计算机组成复习(自己整理的)
  6. Spring高级之注解@Import注解、ImportSelector、ImportBeanDefinitionRegistrar详解(超详细)
  7. 遗传算法的交叉变异详解
  8. mtk android工具包,MTK Android software Tools工具的说明
  9. 月薪多少_教师月薪多少?全国各地教师工资表来了
  10. linux shell调用c 程序设计,linux – 在bash -c中设置变量