C# 4.0 Optional Parameters 和Named Parameters

Optional Parameters 是C# 4.0的特色之一,可减少重载函数的数量,却可达到相同的效果,加快开发效率。在使用上就跟C++一样,只需用等号为函数的参数加上默认值即可。需注意的是Optional Parameters要放在必要性参数的后面,也就是说Optional Parameters后面不得有必要性参数的存在。

Optional Parameters 虽然不是新的概念,但对于缺少该功能的C#而言,习惯C++的程序员来说,写起来总是会觉得不顺,在函数重载的编写上也麻烦了许多。好在这个问题在C# 4.0中已获得改善。

Named Parameters是C# 4.0的特色之一,可搭配Optional Parameters使用,主要功能是让用户可在调用函数时指定传入的值要带入哪个参数,

当我们想指定传入的值要带入的参数时,我们可以通过":"关键词来使用具名参数。

举个例子来说,函数原型如下:

public Person(string name, SexType sex = SexType.Boy, int year = 18)

如果只想输入名字与年龄,我们可以像这样写:

Person geff= new Person("Geff", year:31);

或者是

Person geff= new Person(name:"Geff", year:31);

也可以不考虑顺序

Person geff= new Person( year:31,name:"Geff");

本文来自合作伙伴“doNET跨平台”,了解相关信息可以关注“opendotnet”微信公众号

时间: 2024-09-27 18:37:39

C# 4.0 Optional Parameters 和Named Parameters的相关文章

C#4.0初探:Optional and named parameters

Optional and named parameters特性在有些场合提供很大的方便,特别是Office开发中可以告别一坨System.Reflection.Missing了.这里简单了解一下C#4.0中的Optional and named parameters. 在VS2010 CTP中的C#4.0编译器调试通过,正式版可能会有些变化. 1.使用示例 class Program { static void Main(string[] args) { Test t = new Test();

XRegExp 0.2: Now With Named Capture_js面向对象

Update: A beta version of XRegExp 0.3 is now available as part of the RegexPal download package. JavaScript's regular expression flavor doesn't support named capture. Well, says who? XRegExp 0.2 brings named capture support, along with several other

《ANSYS 14热力学/电磁学/耦合场分析自学手册》——2.4 菜单栏

2.4 菜单栏 ANSYS 14热力学/电磁学/耦合场分析自学手册 菜单栏(Utility Menu)包含了ANSYS全部的公用函数,如文件控制.选取.图形控制.参数设置等.它采用下拉菜单结构.该菜单具有非模态性质(也就是以非独占形式存在的),允许在任何时刻(即在任何处理器下)进行访问,这使得它使用起来更为方便和友好. 每一个菜单都是一个下拉菜单,在下拉菜单中,要么包含了折叠子菜单(以" > "符号表示),要么执行某个动作,有如下3种动作. 立刻执行一个函数或者命令. 打开一个对

cmd.Parameters.RemoveAt(0)在存储过程中的作用

问题描述 privateSqlCommandCreateCmd(stringprocName,paramsobject[]ps){OpenConnection();SqlCommandcmd=newSqlCommand();cmd.CommandText=procName;cmd.CommandType=CommandType.StoredProcedure;cmd.Connection=mycon;SqlParameter[]sqlpa=null;if(ps!=null){SqlCommand

Oracle Net Listener Parameters (listener.ora)(转)

  12/20 7 Oracle Net Listener Parameters (listener.ora) This chapter provides a complete listing of the listener.ora file configuration parameters. This chapter contains these topics: Overview of Oracle Net Listener Configuration File Oracle Net List

sonar Analysis Parameters

source: http://docs.codehaus.org/display/SONAR/Analysis+Parameters Table of Contents Mandatory Parameters Server Database Project Configuration Optional Parameters Project Configuration Configuration Log Parameters to configure project analysis can b

C# 5.0图书

C# 5.0 in a Nutshell The Definitive Reference WinRT C# 5.0 also interoperates with Windows Runtime (WinRT) libraries. WinRT is an execution interface and runtime environment for accessing libraries in a language-neutral and object-oriented fashion. I

艾伟:C# 4.0下的新特性

回顾C#发展的历史,C#1.0完全是模仿Java,并保留了C/C++的一些特性如struct,新学者很容易上手:C#2.0加入了泛型,也与Java1.5的泛型如出一辙:C#3.0加入了一堆语法糖,并在没有修改CLR的情况下引入了Linq,简直是神来之笔,虽然很多项目出于各种各样如性能之类的原因没有采用,但非常适合小型程序的快速开发,减轻了程序员的工作量,也提高了代码的可读性:C#4.0增加了动态语言的特性,从里面可以看到很多javascript.python这些动态语言的影子.虽然越来越偏离静态

C# 4.0下的新特性

回顾C#发展的历史,C#1.0完全是模仿Java,并保留了C/C++的一些特性如struct,新学者很容易上手:C#2.0加入了泛型,也与Java1.5的泛型如出一辙:C#3.0加入了一堆语法糖,并在没有修改CLR的情况下引入了Linq,简直是神来之笔,虽然很多项目出于各种各样如性能之类的原因没有采用,但非常适合小型程序的快速开发,减轻了程序员的工作量,也提高了代码的可读性:C#4.0增加了动态语言的特性,从里面可以看到很多javascript.python这些动态语言的影子.虽然越来越偏离静态