参数数组(params)的用法
使用参数数组的注意事项:
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)的用法相关推荐
- 函数,参数数组params与数组参数,结构函数
1.函数 static 返回值类型 函数名(形参1,形参2,...){ 函数体; return 返回值; } 无返回值,则static void 函数名(){ } stat ...
- 【Python自查手册】之带参数请求params的用法
params, 可以让我们带着参数来请求数据:我想要第几页?我想要搜索的关键词?我想要多少个数据? headers, 请求头.它告诉服务器,我的设备/浏览器是什么?我从哪个页面而来? 带参数请求,实现 ...
- C#交错数组和参数数组
交错数组 交错数组的声明和初始化 int[][] array ; 声明交错数组array = new int[n][] ; 创建一个包含n个元素的交错数组,交错数组的元素就是一维数组array[0] ...
- C#中的params的用法(可变数组)
最近小编看C#视频,听到小杨老师讲到可变数组,涉及到一个param修饰符,有点不太明白,于是小编站在巨人的肩膀上开始了探索和学习,略有了解,分享给大家哟~ [一]params是什么? params是一 ...
- 灵活而又可怕的params参数数组
某日,我们一项目重构,不小心为一个类增加了一个Delete(string key)的方法,编译通过,初看无恙,但一执行起来就不是那么回事了,仔细一查,才知道,类中有一个同名的重载方法,参数为一个par ...
- C# 编程入门第七课方法调用参数问题,方法标准,传递数组,返回数组,方法高级参数(out关键字参数,ref参数,params可变参数),方法重载,方法的递归,一些常用方法
C# 编程入门第七课 文章目录 C# 编程入门第七课 1. 方法调用参数问题 2. 方法标准 3.传递数组,返回数组 4. 方法高级参数 4.1 out 关键字参数 4.2 ref 参数 4.3 pa ...
- java args用法_Java中args参数数组的用法说明代码
本篇文章小编给大家分享一下Java中args参数数组的用法说明代码,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看. main方法args参数用于接收用户 ...
- C#可选参数、命名参数、参数数组
学习了C#4.0的新特性:可选参数.命名参数.参数数组. 1.可选参数,是指给方法的特定参数指定默认值,在调用方法时可以省略掉这些参数. 但要注意: (1)可选参数不能为参数列表的第1个参数,必须位于 ...
- foreach用法_25个你不得不知道的数组reduce高级用法
作者:JowayYoung 仓库:Github.CodePen 博客:掘金.思否.知乎.简书.头条.CSDN 公众号:IQ前端 联系我:关注公众号后有我的微信哟 特别声明:原创不易,未经授权不得对此文 ...
最新文章
- jmeter对自身性能的优化
- 基于倒谱法和线性预测法估计基音频率(MATLAB和Python)
- bfs理解——hdu6386好题
- java 正则出特殊字符_java正则_特殊字符处理
- 基于生命周期理论的农业科学数据中心化管理模式
- libevent 源码深度剖析十三
- JavaScript 读取地址栏参数
- 波士顿动力又有新视频:机器狗要开门,人类真是拽不回来
- 据说,上次获奖的同学拿了奖金泡了班花还get到了2个offer
- HTMLCSS入门学习
- cad添加自己线性_如何在CAD中添加自行创建的线型
- 电子计算机审计,计算机审计存在的风险
- 有关单片机驱动IR2104遇到的问题及解决方法
- 【技术沙龙】星火计划 | 腾讯自研Kona JDK技术分享沙龙火热报名中
- 小程序分享,禁用分享,解除禁用分享
- 渗透测试之信息收集 -tryhackme-Content Discovery
- 13 MCMC(Markov Chain Monte Carlo)
- verilog之分频大全
- Opencv__模板匹配(上)
- 阿里心电图数据特征分析
热门文章
- 386个Linux发行版本中 你用过Ubuntu吗?
- 时间加密算法_物联网安全:可计算加密算法
- 简述一下索引的匹配原则_Mysql联合索引最左匹配原则
- c++ qt获取电脑的内存_QT开发(十四)——QT绘图系统
- 计算机组成与结构r形式,计算机组成复习(自己整理的)
- Spring高级之注解@Import注解、ImportSelector、ImportBeanDefinitionRegistrar详解(超详细)
- 遗传算法的交叉变异详解
- mtk android工具包,MTK Android software Tools工具的说明
- 月薪多少_教师月薪多少?全国各地教师工资表来了
- linux shell调用c 程序设计,linux – 在bash -c中设置变量