使用参数数组的注意事项:
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. poj1679(次小生成树)
  2. 第二十到第二十一天:让你和页面对话-IFE
  3. pytorch 内积 矩阵乘法
  4. mybatis中useGeneratedKeys用法--插入数据库后获取主键值
  5. Linux -- Samba访问控制
  6. SQL优化(二) 快速计算Distinct Count
  7. 14个你可能不知道的JavaScript调试技巧
  8. android监听方法的耗时时间,Android Studio监听时间变化
  9. linux中用户与组的概念,Linux用户和组的概念
  10. Chrome OS 云里雾里
  11. Github1.3万星,迅猛发展的JAX对比TensorFlow、PyTorch
  12. Java 性能优化系列之4[Java性能调优工具]
  13. nvidia的jetson系列的方案_NVIDIAJetson系统在工业网络中的集成
  14. Linux 环境下maven安装配置
  15. NotifyIcon用法
  16. 樊登读书会用事实说话读后感_用事实说话樊登读书笔记
  17. matlab停止运行命令_matlab终止运行命令
  18. html设置ie9兼容性视图,ie9兼容性设置在哪里 IE兼容性视图在哪里设置?
  19. Centos重置root密码
  20. 论文学习——基于滑动窗口预测的水位时间序列异常检测

热门文章

  1. java.util.ResourceBundle用法
  2. SCVMM2012 SP1 之P2V转换
  3. 天天动听 半透明Menu效果
  4. 分享最新40款免费的 WordPress 主题(上篇)
  5. Unity3dRPG 相机跟随player旋转_跟随式灌装机
  6. php5.4漏洞解决,php5.4.3的远程代码执行漏洞,提权挺管用
  7. java绘制图形_java绘制基本图形.doc
  8. php psr 编码规范_PHP编码风格规范
  9. gabor 幅值域 matlab,组合局部多通道Gabor滤波器和ICA的人脸描述与识别
  10. hdc mfc 画扇形图_canvas画扇形、饼图