C#可选参数的相关使用
static string GetStr(string s = "a", int i = 10, string r = "rrrr")
{
return s + i + r;
}
GetStr();
GetStr("abcde");
GetStr("abcde", 100);
GetStr("abcde", 100, "hjklmn");
并且,参数的顺序是不能改变的,不能跳过一个参数使用后面的参数类型,所以这样就会有个问题,如果我想调用这个方法只想用第一个和第三个参数,怎么办呢。
其实在可选参数的调用上,微软推出了命名参数,即
GetStr(s: "abcde", r: "hijklmn");只需要将参数名称标记下来就可以了。(命名参数只能是原方法的参数名 后跟冒号“:”)
这样以后的重载就可以省很多事了。省去了大段的代码重载方法
相关推荐
-
C#可选参数的相关使用
复制代码 代码如下: static string GetStr(string s = "a", int i = 10, string r = "rrrr") { return s + i + r; } 调用时,可以用如下几种方法调用 复制代码 代码如下: GetStr(); GetStr("abcde"); GetStr("abcde"
-
PHP函数按引用传递参数及函数可选参数用法示例
本文实例讲述了PHP函数按引用传递参数及函数可选参数用法.分享给大家供大家参考,具体如下: 一.函数按引用传递参数 1. 代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999
-
Python如何定义有可选参数的元类
问题 你想定义一个元类,允许类定义时提供可选参数,这样可以控制或配置类型的创建过程. 解决方案 在定义类的时候,Python允许我们使用 ``metaclass``关键字参数来指定特定的元类. 例如使用抽象基类: from abc import ABCMeta, abstractmethod class IStream(metaclass=ABCMeta): @abstractmethod def read(self, maxsize=None): pass @abstractmethod de
-
教你利用Golang可选参数实现可选模式
目录 从需求开始 定义构造函数 定义可选函数 增强构造函数 可选模式的优势 直观清晰 支持扩展 参数顺序 本文讨论Golang函数可选参数及函数类型,以及如何利用可选函数类型实现可选模式.同时通过构造函数作为示例,实现强大带可选参数的构造函数,让代码更直观.灵活.支持扩展. 从需求开始 可选参数给函数传递额外参数扩展或修改其行为,下面示例利用可选功能创建House类型: h := NewHouse( WithConcrete(), WithoutFireplace(), ) NewHouse是构
-
jQuery form插件之ajaxForm()和ajaxSubmit()的可选参数项对象
Form Plugin API 里提供了很多有用的方法可以让你轻松的处理表单里的数据和表单的提交过程. 测试环境:部署到Tomcat中的web项目. 本文演示的是:jQuery form插件之ajaxForm()和ajaxSubmit()的可选参数项对象 ajaxForm()和ajaxSubmit()的可选参数项对象 ajaxForm 和 ajaxSubmit 都支持大量的可选参数,它们通过可选参数项对象传入.可选参数项对象只是一个简单的 JavaScript对象,里边包含了一些属性和一些值:
-
深入C# 4.0 新特性dynamic、可选参数、命名参数的详细介绍
1.dynamic ExpandoObject熟悉js的朋友都知道js可以这么写 : 复制代码 代码如下: var t = new Object(); t.Abc = 'something'; t.Value = 243; 现在这个js动态语言的特性,我们也可以在c#中使用了,前提是将一个变量声明为ExpandoObject类型.如下例: 复制代码 代码如下: static void Main(string[] args) { dynamic t = new ExpandoObject(); t
-
SpringMVC 参数绑定相关知识总结
请求进入DispatcherServlet的doDispatch后,获取HandlerMethod.然后根据HandlerMethod来确认HandlerApapter,确认后执行HandlerAdapter的handle方法.这里确认HandlerApater为RequestMappingHandlerAdapter,在执行handlerMethod之前,需要处理参数的绑定. 1. 简单参数绑定 执行HandlerAdapter的handler方法后,进入RequestMappingHandl
-
C#中命名参数和可选参数
一.简介 设计方法的参数是,可以将部分参数和全部参数分配默认值,然后调用这些方法的时候可以选择不提供部分实参,使用参数定义的默认值,另外,还可以在调用方法的时候通过指定参数名称来传递实参. 二.代码案例 class Program { private static int s = 0; private static int s_n = 0; private static void Mothed(int x = 9, string s = "A", DateTime dt = defau
-
JavaScript调用传递变量参数的相关问题及解决办法
举例 有一个js方法,接收参数: 复制代码 代码如下: function f1(myValue){ alert(myValue); } 有一个变量: 复制代码 代码如下: var passValue="Hello World"; 在调用这个方法的时候(我是出现在Ajax提交的时候): @Ajax.ActionLink("文本","控制器",new{参数},new AjaxOptions(){ HttpMethod="post"
-
c# 可选参数、命名参数
重新指定分配默认值的参数时,可以显式地为指定参数名称赋值,隐式指定的时候,是根据方法参数的顺序,靠c#编译器的推断. 代码示例: 复制代码 代码如下: void M(int x=9,string s="a",DateTime dt = default(DateTime)) {...} Main() { M();//使用默认值 M(8,"b")://隐式指定方法参数,没有指定的使用默认值 M(6,"v",DateTime.Now);//同上 M(6
随机推荐
- Au3截取腾讯天气的脚本
- Vue.js2.0中的变化小结
- AngularJS控制器controller给模型数据赋初始值的方法
- JavaScript实现基于Cookie的存储类实例
- 如何用正则取input type="text"中的value
- 深入理解JavaScript系列(19):求值策略(Evaluation strategy)详解
- mysql 批量更新与批量更新多条记录的不同值实现方法
- Node.js 使用流实现读写同步边读边写功能
- node.js中使用socket.io制作命名空间
- 深入N皇后问题的两个最高效算法的详解
- javascript实现tab切换的两个实例
- JQuery1.6 使用方法三
- javascript实现点击后变换按钮显示文字的方法
- webpack学习笔记之代码分割和按需加载的实例详解
- JS简单操作select和dropdownlist实例
- linux ssh 使用深度解析(key登录详解)
- 小议Java的源文件的声明规则以及编程风格
- Vue.js表单标签中的单选按钮、复选按钮和下拉列表的取值问题
- 易语言字母大小写转换命令使用讲解
- android studio节省C盘空间的配置方法