C# params的用法详解

     为了将方法声明为可以接受可变数量参数的方法,我们可以使用params关键字来声明数组,要求:

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

(2)该参数必须标识一个一维数组,但类型不限,对该参数传递null或者0个数目的数组的引用都是合法的

01

实例1

using System;namespace ConsoleApp4
{class Program{static void Main(string[] args){ShowTime(new string[]{ "1","2","3","4","5","6","7","8","9"});Console.ReadKey();}private static void ShowTime(params string[] strs){foreach (var str in strs){Console.WriteLine(str.ToString());}}}
}

运行结果:

02


实例2

using System;namespace ConsoleApp4
{class Program{static void Main(string[] args){//ShowTime(new string[]{ "1","2","3","4","5","6","7","8","9"});ShowTypes(new object(), new Random(), new string[] { }, 123,'a');Console.ReadKey();}private static void ShowTime(params string[] strs){foreach (var str in strs){Console.WriteLine(str.ToString());}}public static void ShowTypes(params object[] objects){foreach (var item in objects){Console.WriteLine(item.GetType());}}}
}

运行结果:

注意:对于可接受可变数量参数的方法的调用会对性能造成一定的损失,因为数组是在堆上分配的,数组的元素还得初始化,数组的内存还得被垃圾回收器回收

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/298554.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

spring 单例 获取多例的位_Spring系列第6篇:玩转bean scope,避免跳坑里!

公众号关注“程序员二哥”,设为‘星标’,带你学习更多的知识。本文内容 详细介绍5中bean的sope及使用注意点自定义作用域的实现应用中,有时候我们需要一个对象在整个应用中只有一个,有些对象希望每次使用的时候都重新创建一个&…

女生的拳头有多厉害?

1 天下武功唯快不破2 狗子:没想到我有这种天赋3 哈哈哈还是你社会啊4 女生的拳头有多厉害??5 怎么解开的?6 心中有海,脚下有沙,这就是马尔代夫7 你的人生概括

与ln的指数转化公式_高考数学48条秒杀型公式与方法

点上方蓝字,关注“云学冠学习资讯”有助于提高成绩哦!除了课本上的常规公式之外,掌握一些必备的秒杀型公式能够帮你在考试的时候节省大量的时间,师姐这次的分享就是48条秒杀公式,直接往下看!1.适用条件&…

在C#2.0中使用Nullable可空类型

在C#1.x的版本中,一个值类型变量是不可以被赋予null值的,否则会产生异常。在C#2.0中,微软提供了Nullable类型,允许用它定义包含null值(即空值)的数据类型,这对处理数据库中包含可选字段以及很多…

豆瓣9.7,这些舍不得看完的神剧,看一集少一集!我刷了一晚上……

全世界只有3.14 % 的人关注了爆炸吧知识今天给大家介绍一位好朋友——小樱,小樱,作为资深美剧迷英语博主,收藏了很多经典美剧、动画资源,每天还会和大家分享新鲜有趣的英语知识。喜欢看美剧追动画和立志学好英语的小伙伴千万别错过…

C#编码规范

1、连接数据库并返回DataTable View Code public DataTable GetDataByTable() { DataSet dataset new DataSet(); DataTable datatable null; SqlConnection sqlConnection new SqlConnection("Data Source.;Initial CatalogCalamity_Dat…

api中文文档 mws_中英文排版规范化 API

此文章对开放数据接口 API 之「中英文排版规范化 API」进行了功能介绍、使用场景介绍以及调用方法的说明,供用户在使用数据接口时参考之用。 1. 产品功能此次开放了中英文排版规范化在线接口,用于自动中英文排版、标点符号格式化,中英混排格式…

计算机管理无法连接虚拟磁盘服务,虚拟磁盘服务错误怎么操作【图文教程】

虚拟磁盘我们大家都可以看到但实际上是不存在的,虚拟的就是假的。虚拟磁盘是通过将一些网络文件或是内存利用科技手段伪造成磁盘,我们通常称它为虚拟磁盘。虚拟磁盘可以给内存增加容量,可以加快磁盘数据交换,提高计算机运行速度。…

记一次 .NET 某机械臂智能机器人控制系统MRS CPU爆高分析

一:背景 1. 讲故事这是6月中旬一位朋友加wx求助dump的故事,他的程序 cpu爆高➕UI卡死,问如何解决,截图如下:在拿到这个dump后,我发现这是一个关于机械臂的MRS程序,哈哈,在机械臂这种…

linux 信号_Linux中的信号处理机制 [四]

信号与线程Unix的信号机制在诞生之初,生活在只有进程(process)的相对单纯的环境中。自从Unix世界有了线程(thread)的概念,信号就被赋予了发往进程中某个特定线程的能力,当然,这也增加了整个信号机制实现的复杂度。本系列的前面三篇…

HP NIC Teaming技术探讨

NIC Teaming技术将2个或更多个网卡(HP NIC Teaming最多可达8个)捆绑在一起使用,以达到增加总的带宽(Load Balance,负载均衡)或者线路容错(Fault Tolerance)的目的。由2个或多个网卡组成一个逻辑网络端口Teamport,IP地址和网络设置绑定在这个逻…

仙居(一)

仙居(一) 仙居——仙人居住的地方。 景星岩全景 (看大图请点击) 其他图片在整理中,待我慢慢把图片和故事都理出来。转载于:https://www.cnblogs.com/hzy5901/archive/2011/03/31/5871611.html

我的电脑不联网,很安全!黑客:你还有风扇呢

全世界只有3.14 % 的人关注了爆炸吧知识转自:机器之心参与:张倩、蛋酱、杜伟从1988年第一个网络蠕虫病毒诞生以来,「互联网危机四伏」的观念就已经深入人心。如果只是这样,不给电脑联网、禁止使用任何可移动储存介质,数…

移动终端测试进化论

2019独角兽企业重金招聘Python工程师标准>>> 移动终端测试进化论 本案例主要以5年的现身经历,阐述针对移动互联网终端测试,从最基础的原始时代如何进入到现代化时代;从单一到多点密集;从对产品的质量保障进化到对产品信…

计算机视觉领域还有那些坑,深度学习/计算机视觉常见的8个错误总结及避坑指南...

人类并不是完美的,我们经常在编写软件的时候犯错误。有时这些错误很容易找到:你的代码根本不工作,你的应用程序会崩溃。但有些 bug 是隐藏的,很难发现,这使它们更加危险。在处理深度学习问题时,由于某些不确…

MySQL从原理到实践,一篇从头到尾讲清楚

前两天,我跟一个面试官聊天,发现一个普遍现象,不少候选人,对数据库的认知,还处在比较基础的阶段,以为会写“增删改查”、做表关联就足够了,那些工作中经常出现的问题,却支支吾吾答不…

库卡机器人是s7编程_「西门子1200PLC教程」19.S7-1200入门实例

头条号私信回复1,可免费获取海量资源下载链接本文任务:电动机启保停控制练习按下瞬时启动按钮I0.6,电动机Q0.0启动;按下瞬时停止按钮I0.7,电动机Q0.0停止。目录1.组态设备2.编写程序3.下载项目4.监视运行情况1.组态设备…

戴尔新版bios设置中文_戴尔电脑装机过程

戴尔电脑装机过程U盘制作过程:一:启动盘安装 win 101、准备工具:一块空的 8G 以上的 U 盘、一套官网下载的 win 10 操作系统 2、制作启动盘:将下载好的操作系统直接解压到U盘里面就完成了 二:pe 盘安装 win 101、准备工…

云计算

一 云计算 1 定义1)新兴的互联网服务,该服务即是由成千上万的超级计算机构成的超强的计算机处理能力。2)用户可以通过购买这种服务来满足本地对计算机运算能力需求。3)互联网服务商一般会通过与某些需要计算机运算能力的软件的集成…

一组超炫酷的动图,感受那让人窒息的数学之美!

全世界只有3.14 % 的人关注了爆炸吧知识在蒋迅博客上看到的一组图片,转自imgur。本文来源:蒋迅的博客原文连接:http://blog.sciencenet.cn/blog-420554-923731.html