c#入门-可选参数,不定长参数

news2024/12/24 2:24:35

可选参数

声明可选参数

函数的参数在声明时,可以同时为其赋值一个常量
但是所有这样的参数,需要在所有必填参数的后面

void Any(int i = 10)
{
	Console.WriteLine(i);
}

使用可选参数

稍后,在调用函数时,你可以不填可选参数。
如果不填,那就是你开始为他赋值的常量。
如果填了,那就是普通的参数,按照你填的值为准。
在这里插入图片描述

不定长参数

如果形参的最后一个参数是一个数组,那么可以在类型前加params关键字使其变为可变长参数。
由于可变长参数必须是最后一个,而且不能赋初始值。所以不定长参数和可选参数不能同时存在

声明为了不定长的参数,除了可以正常接收一个数组实参外,还可以以散装方式接收实参。

fun(1, 2, 3, 4, 5, 6);

void fun(params int[] a)
{
	Console.WriteLine("无事发生");
}

这些参数会被自动的打包成数组,然后作为实参传递。
但是,数组的长度可以是0,所以不定长参数可以一个都不填
在函数内访问这个数组时要小心,即便访问索引为0的元素也可能出错。

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

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

相关文章

1 - 线程池的基础用法

参考:线程池的基本用法 - 简书 1、为什么要用线程池? 在java中,开启线程的方式一般分为以下三种: a. 继承Thread,实现其run方法; b. 实现Runnabler接口,通过Thread来实现线程; …

法的概念与大纲

一、法的概念 法是由国家制定或认可并由国家强制力保证实施的,反映特定物质生活条件所决定的统治阶级意志,以权利和义务为内容,以确认、保护和发展对统治阶级有利的社会关系和社会秩序为目的的规范系统。 二、法的特征 规范性 国家意志性 权…

微信恢复大师花了200多,套路一环接一环!

数据恢复本是一个科技进步的体现,让误操作导致的重要数据可以找回来。但是近年来数据恢复跟诈骗挂钩,数据恢复本是利好的事情,为什么会跟诈骗挂钩。究竟是什么原因呢?最近小编发现,百度推荐词出现:“微信恢…

Neural Network-神经网络算法本质

1. Word2vec~single CBOW算法推导BP word2vec主要实现方式有:skip-gram和CBOW。 CBOW的目的是根据上下文contextual words来预测当前中心词的概率,且上下文所有单词对当前中心词出现的概率影响权重是一样的,如在袋子中取词,取出…

痞子衡嵌入式:国内外串行NOR Flash厂商官网Cross Reference功能使用体验

大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家讲的是国内外串行NOR Flash厂商官网Cross Reference功能。 串行 NOR Flash 是一个相对发展稳定的市场,目前全球市场约 90% 的份额被中国的三家厂商(Winbond华邦/MXIC旺宏/GigaDevice兆…

Java入门教程(26)——继承

文章目录1.继承的作用2.继承的关键字3.继承的特点4.实例5.instanceof 运算符继承是面向对象三大特征之一,继承可以让我们减少代码量,实现类的复用1.继承的作用 代码复用,更加容易实现类的扩展方便建模 2.继承的关键字 extends,…

网站都变灰了,几行代码可以实现

前言 这两天,我们经常逛的好多网站、app首页都变灰了,原因大家应该都知道了 网站变灰 ①B站 ②爱奇艺 ③ 腾讯视频 ④ csdn ⑤百度 怎么实现的呢? 难道这些网站开发商在网站开发的时候都准备一套灰色主题的UI么? 好奇心…

端水or信仰?ChatGPT“点评”Web3未来

近日,OpenAI发布了人工智能聊天机器人模型 ChatGPT,产品自11月30日发布到现在仅一周时间,就积累了上百万用户,广受大家好评。有人让它写代码,有人拿高考题目考验它,这些“难题”似乎都难不倒它,…

vue3 教程(上)

学 vue3 通过官方文档更详细,不过阅读本博客,可以更容易理解,且帮你速成! 官方文档(记得将API风格偏好切换为 组合式 否则你学的是vue2) https://cn.vuejs.org/guide/introduction.html 学习前的准备 创建…

[synchronized ]关键字详解

目录 1.synchronized 特性 1.1互斥性 1.2内存刷新 1.3可重入 2.Java 标准库中的线程安全类 3.死锁问题 3.1 一个线程,一把锁 3.2 两个线程,两把锁 3.3 多个线程,多把锁 4.死锁的条件 1.synchronized 特性 1.1互斥性 synchronized 关键字会起到互斥效果,当某个线程执…

【C语言】字符串函数(一)

目录 一、strlen函数(计算字符串长度) 1、strlen函数的用途 2、strlen函数的使用 3、strlen函数的模拟实现 二、strcpy函数(字符串拷贝) 1、strcpy函数的用途 2、strcpy函数的使用 3、strcpy函数的模拟实现 三、strcat函数(字符串追加) 1、strcat函数的用途 2、strcat函数的使用…

【JavaSE】接口剩余内容

目录 1、接口使用实例 📕逐步分析学生数组排序的写法 ✨思路: ✨代码实现 ✨弊端 📕、改进 改进思路: 代码实现: 2、Cloneable接口和深拷贝 2.1、cloneable接口的作用 2.2、深拷贝和浅拷贝 2.2.1、浅拷贝 …

yum安装openldap2.4.44,并配置增量复制(Delta-syncrepl)环境

本文是在centos7环境下通过yum安装openldap2.4.44,并配置增量复制(Delta-syncrepl)环境 官网对于增量复制介绍:https://www.openldap.org/doc/admin24/replication.html#Delta-syncrepl%20replication Delta-syncrepl 是 syncrep…

ADI Blackfin DSP处理器-BF533的开发详解3:GPIO(含源代码)

我们从最基础的GPIO开始,先讲外设,这玩意不管是单片机,还是ARM,又或是FPGA,甚至SOC的芯片,都有GPIO,有共性,就好理解,让我们看看在ADI的DSP里头,GPIO是怎么一…

MySQL数据库学习(2)

一.MySQL语法书写规范: (1).SQL语句要以分号;结尾 在 RDBMS(关系型数据库)当中,SQL语句是逐条执行的,一条 SQL语句代表着数据库的一个操作。SQL语句是使用英文分号;结尾。 (2).SQL语句不区分大小写 SQL不区分关键字的大小写。例如&#xff0c…

CentOS7下mysql主从复制搭建

mysql安装 CentOS7安装MySql5.7完整教程_长头发的程序猿的博客-CSDN博客_centos7 mysql5.7安装 1、配置主机 1.1、修改my.cnf配置文件 vim /etc/my.cnf 最后一行添加: #主服务器唯一ID server-id1 #启用二进制日志 log-binmysql-bin #设置不要复制的数据库(可…

C++之虚函数

都说面向对象的三大特性是封装、继承、多态。C作为一门面向对象编程语言,肯定也是具备了面向对象的三大特性,那么在C中是如何实现多态的呢? 在C中是通过虚函数动态绑定的方式实现多态的。 虚函数与纯虚函数 首先我们来回顾一下虚函数&…

DAX:GROUPBY函数

DAX 中的 SUMMARIZE 函数功能强大,但同时也很难使用。 它可用于执行表之间的分组和连接,正如我们之前在分组数据一文中描述的那样。 不幸的是,它在计算聚合值时存在一些众所周知的性能问题。除了性能之外,SUMMARIZE 的计算限制是它…

ArrayList中的 subList 强转 ArrayList 导致异常

阿里《Java开发手册》上提过 [强制] ArrayList的sublist结果不可強转成ArrayList,否则会抛出ClassCastException异常,即java.util.RandomAccesSubList cannot be cast to java. util.ArrayList. 说明: subList 返回的是ArrayList 的内部类SubList, 并不是ArrayList …

一块RTX 3090加速训练YOLOv5s,时间减少11个小时,速度提升20%

作者|BBuf 很高兴为大家带来One-YOLOv5的最新进展,在《一个更快的YOLOv5问世,附送全面中文解析教程》发布后收到了很多算法工程师朋友的关注,十分感谢。 不过,可能你也在思考一个问题:虽然OneFlow的兼容性做…