C#默认参数的用法与限制

默认参数(又译作“缺省参数”),是C#4.0引入的特性,它的作用是给方法定义某个参数的时候给参数指定一个默认值

例如这样的场景,请求页面数据的时候,我们往往会做分页,入参包含页码(pageIndex)和每页显示数据量(pageSize)两个参数

public List<ModelResponse>GetPageList(int param,string userNo,int pageIndex,int pageSize=10)
{
    ......
}

我们给pageSize指定默认值10,那么调用这个方法时,就可以少传一个参数

public JsonResult GetList(int param,string userNo,int pageIndex)=>return Json(bll.GetPageList(param,userNo,pageIndex),JsonRequestBehavior.AllowGet);

如果多个页面调用此方法(废话,如果不是多页地方调用就不需要这个参数了),其中一个要每页展示15条,只需要在调用时多加一个参数:

public JsonResult GetList(int param,string userNo,int pageIndex)=>return Json(bll.GetPageList(param,userNo,pageIndex,15),JsonRequestBehavior.AllowGet);

 

限制:

1,缺省参数的声明只能放在普通参数之后

2,指定的缺省值必须是一个常量 ,即只能是系统定义的基本元素类型,如DateTime.Now不是常量,这样的代码不能通过编译(Default parameter value for 'date' must be a compile-time constant)

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
《轻松学C#(图解版)》完整扫描版================================================================ 基本信息 作者:谷涛、扶晓、毕国锋 丛书名:轻松学开发 出版社:电子工业出版社 ISBN:978-7-121-20223-0 出版日期:2013年6月 开本:16开 页码:408页 版次:1-1 定价:¥55.00 所属分类:计算机 > 软件与程序设计 > C# ================================================================ 内容简介 本书由浅入深,全面、系统地介绍了C#程序设计。除了详细地讲解C#知识点外,本书还提供了大量的实例,供读者实战演练。本书共分三篇。第一篇是C#概述篇,主要介绍的是Visual Studio 2012的开发环境及搭建。第二篇是面向对象基础篇,主要介绍类、对象、字段、方法、流程控制、数组、继承、属性、运算符重载、接口等C#基本内容。第三篇是应用技术篇,主要介绍的是异常处理、文件和流、委托、事件、Lambda表达式、命名空间、预处理器、程序集、运行时类型标识、反射、特性、泛型、LINQ和数据库开发等。 ================================================================ 图书目录 第一篇 C#概述篇 第1章 C#入门 2 1.1 C#概述 2 1.1.1 C#的发展 2 1.1.2 C#开发的基础 2 1.2 搭建开发环境 3 1.2.1 Visual Studio 2012软硬件配置要求 3 1.2.2 下载Visual Studio 2012 3 1.2.3 安装Visual Studio 2012 4 1.2.4 初始化配置 7 1.3 第一个程序—Hello World 8 1.4 小结 11 1.5 习题 12 第二篇 面向对象基础篇 第2章 类和对象 16 2.1 分析Hello World程序 16 2.2 语法规范 17 2.2.1 标识符 17 2.2.2 关键字 18 2.2.3 注释 19 2.3 定义类 20 2.4 实例化对象 20 2.5 小结 20 2.6 习题 21 第3章 定义类——字段 23 3.1 数据类型 23 3.1.1 简单值类型 23 3.1.2 值的表示——字面量 26 3.1.3 转义序列 27 3.2 定义字段 27 3.2.1 定义字段 28 3.2.2 静态字段和实例字段的访问 28 3.2.3 字段初始化 29 3.2.4 字段的动态赋值——Read()和ReadLine() 31 3.2.5 字段输出 31 3.2.6 格式化输出 32 3.2.7 数据类型转换 39 3.2.8 只读字段 41 3.2.9 访问控制 41 3.3 运算符 43 3.3.1 算术运算符 43 3.3.2 自增、自减运算符 44 3.3.3 复合赋值运算符 45 3.3.4 位运算符 46 3.3.5 sizeof运算符 47 3.3.6 运算符的优先级 47 3.4 小结 49 3.5 习题 49 第4章 定义类——方法 51 4.1 方法的概述 51 4.1.1 定义方法 51 4.1.2 方法的调用 52 4.2 方法体的构成 53 4.2.1 局部变量 53 4.2.2 局部变量与字段同名的解决——this关键字 54 4.2.3 语句 55 4.2.4 全局变量 55 4.3 返回值 56 4.3.1 返回值类型 56 4.3.2 从方法返回 57 4.4 参数 58 4.4.1 参数的分类 58 4.4.2 引用参数(ref参数) 59 4.4.3 输出参数(out参数) 61 4.5 特殊的方法 62 4.5
C#中,有几种方法可以将数组作为函数的参数传入。第一种方法是使用参数数组,也就是在函数定义中的最后一个参数加上params关键字。通过这种方式,我们可以向函数传递不定数量的参数。例如,可以定义一个带有参数数组的函数,如下所示:```static int SumVals(params int[] vals)```。在调用这个函数时,可以直接传入一组整数作为参数,例如```SumVals(1, 2, 3, 4, 5)```。函数内部可以通过for循环对参数数组进行遍历,实现对数组中元素的操作。 另一种方法是直接传递数组作为函数的参数。在函数定义中,可以将参数的类型指定为数组类型,例如```static int Sum(int[] arr)```。在调用这个函数时,可以创建一个数组,并将其作为参数传入,例如```Sum(new int { 1, 2, 3, 4 })```。函数内部同样可以通过for循环遍历数组,进行相应的操作。 总之,在C#中,可以通过参数数组或直接传递数组作为函数的参数来代入数组。这两种方法都可以实现对数组元素的操作,只是在使用上稍有不同。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [C#参数数组、引用参数和输出参数示例详解](https://download.csdn.net/download/weixin_38650150/13992165)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [C#---参数数组和数组参数](https://blog.csdn.net/qq_46289420/article/details/111324240)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值