c#中可变参数(params关键字的使用)
一、params 是C#开发语言中关键字, params主要的用处是在给函数传参数的时候用,就是当函数的参数不固定的时候。 在方法声明中的 params 关键字之后不允许任何其他参数,并且在方法声明中只允许一个 params 关键字。 关于参数数组,需掌握以下几点。
1、若形参表中含一个参数数组,则该参数数组必须位于形参列表的最后。
2、不允许将params修饰符与ref和out修饰符组合起来使用。
3、参数数组必须是一维数组。
4、与参数数组对应的实参可以是同一类型的数组名,也可以是任意多个与该数组的元素属于同一类型的变量。
5、若实参是数组则按引用传递,若实参是变量或表达式则按值传递。
二、示例代码
示例代码以返回最大值为例。
1、方法定义:
public class ExercisesEight
{
public static int paramsShowMaxValue(params int[] arr)
{
int maxValue = ;
if (arr != null && arr.Length > )
{
Array.Sort(arr);
maxValue = arr[arr.Length - ];
}
return maxValue;
}
public static void paramsShowMaxValue(string str,params int[] arr)
{ {
//dosomething........
}
} }
2、调用方法
Console.WriteLine($"最大值为:{ExercisesEight.paramsShowMaxValue()}");
Console.WriteLine($"最大值为:{ExercisesEight.paramsShowMaxValue(5)}");
Console.WriteLine($"最大值为:{ExercisesEight.paramsShowMaxValue(15,2)}");
Console.WriteLine($"最大值为:{ExercisesEight.paramsShowMaxValue(5,9,6,7,20,90,100,99)}");
Console.WriteLine($"最大值为:{ExercisesEight.paramsShowMaxValue(new int[] { 6,5,2,7,10,20,60,4})}");
输出结果:

c#中可变参数(params关键字的使用)的更多相关文章
- c#中可变参数params关键字学习
引用 https://www.cnblogs.com/maowp/p/8134342.html 基础知识 1.概念 params 是C#开发语言中关键字, params主要的用处是在给函数传参数的时候 ...
- python中可变参数和关键字参数总结
#_*_coding='utf-8' #可变参数 def person(name,age,*args): #定义了可变参数args print('传入的名字为:',name) print('传入的年龄 ...
- .NET框架- in ,out, ref , paras使用的代码总结 C#中in,out,ref的作用 C#需知--长度可变参数--Params C#中的 具名参数 和 可选参数 DEMO
C#.net 提供的4个关键字,in,out,ref,paras开发中会经常用到,那么它们如何使用呢? 又有什么区别? 1 in in只用在委托和接口中: 例子: 1 2 3 4 5 6 7 8 9 ...
- 浅谈C#可变参数params
前言 前几天在群里看到群友写了一个基础框架,其中设计到关于同一个词语可以添加多个近义词的一个场景.当时群友的设计是类似字典的设计,直接添加k-v的操作,本人看到后思考了一下觉得使用c#中的params ...
- Python3 系列之 可变参数和关键字参数
刚开始接触 python 的时候,对 python 中的 *wargs (可变参数) 和 **kwargs (关键字参数)的理解不是很透彻,看了一下 <Explore Python>一书, ...
- Python 必选参数,默认参数,可变参数,关键字参数和命名关键字参数
Py的参数还真是多,用起来还是很方便的,这么多参数种类可见它在工程上的实用性还是非常广泛的. 挺有意思的,本文主要参照Liaoxuefeng的Python教程. #必选参数 def quadratic ...
- python函数的参数-可变参数,关键字参数
# -*- coding: utf-8 -*- #coding=utf-8 ''' @author: tomcat @license: (C) Copyright 2017-2019, Persona ...
- c 中可变参数的实现
我们在C语言编程中有时会遇到一些参数个数可变的函数,例如printf()函数,其函数原型为: 例一: int printf( const char* format, ... ...
- C语言中可变参数的函数(三个点,“...”)
C语言中可变参数的函数(三个点,“...”) 本文主要介绍va_start和va_end的使用及原理. 在以前的一篇帖子Format MessageBox 详解中曾使用到va_start和va_end ...
随机推荐
- HTTP 03 HTTP 报文
客户端的HTTP报文, 叫做请求报文 服务器端的叫做 响应报文. HTTP 报文本身是由多行 (用 CR+LF 作换行符) 数据构成的字符串文本. HTTP 报文大致分为报文首部 和 报文主体 两部分 ...
- 关于Retrofit网络请求URL中含有可变参数的处理
开题:在此默认各位看官对Retrofit.以及Okhttp已经有过一定的了解及应用,所以今天我们不谈基础入门的东西,今天我们谈在Retrofit请求接口管理类中URL参数含有动态参数的处理方式.一般我 ...
- DeBug Python代码全靠print函数?换用这个一天2K+Star的工具吧,改进版
pysnooper是代码debug神器,比无限low print好很多和也比日志debug好一些,比断点调试也好一些,这个很犀利的装饰器. https://www.toutiao.com/a66829 ...
- Python学习之解决python下载第三方依赖速度慢的问题
原因:通过pip命令直接下载,一般下载的资源存放在国外的服务器上,导致下载速度慢.下载过程中报错: 解决方法:通过pip的命令参数,从国内的下载源,国外的替换为国内的镜像,进行目标包的下载: 具体参数 ...
- 原码、补码,反码以及JAVA中数值采用哪种码表示
原码.补码,反码以及JAVA中数值采用哪种码表示 1.原码定义(摘自百度百科):一种计算机中对数字的二进制定点表示方法,原码表示法在数值前面增加了一位符号位(即最高位为符号位):正数该位为0,负数该位 ...
- postgresql数据库和mysql数据库的对比分析
1.Posgresql是进程模式,多进程,单线程,类似的还有Oracle.而MYSQL采用的是线程模式,单进程,多线程,对此,大家在运行数据库的时候可以查看任务管理器,SQL Server也是如此. ...
- laravel 5.4 导出excel表格
1.在laravel根目录下面找到一个composer.json文件 打开并在require下面加上一句话,如图所示: 注:以后这个excel的版本号可能还会修改 2.执行 composer inst ...
- 二、JavaScript基础(2)
BOM基础加强 1.浏览器对象BOM DOM Window DOM Navigator DOM Screen DOM History DOM Location 2.浏览器对象的使用 History H ...
- 布局fixed和sticky
sticky非常非常非常好用怎么用看代码: 这里为什么没有设置高度呢,因为这个高度应该是浏览器高度,浏览器高度在时刻变化怎么办? js处理: 此JS里面会有执行方法一步一步看 这个里面有JS方法 这个 ...
- js运用2
1.变量提升 变量提升是浏览器的一个功能,在运行js代码之前,浏览器会给js一个全局作用域叫window,window分两个模块,一个叫内存模块,内存模块找到当前作用域下的所有的带var和functi ...