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”微信公众号

目录
相关文章
|
26天前
|
JavaScript API
required string parameter ‘XXX‘is not present 的几种情况
required string parameter ‘XXX‘is not present 的几种情况
14 0
|
3月前
Argument of type 'XX' is not assignable to parameter of type 'XX'
Argument of type 'XX' is not assignable to parameter of type 'XX'
|
9月前
|
SQL
Parameter ‘id‘ not found. Available parameters are [collection, list]
Parameter ‘id‘ not found. Available parameters are [collection, list]
123 0
|
6月前
|
C++
Reference Parameter
Reference Parameter(引用参数)是一种 C++ 编程语言中的参数传递方式。它允许将一个变量的引用(而不是副本)作为函数参数传递。引用参数的主要优点是可以避免在函数内部对实参进行拷贝操作,从而提高代码的效率。
34 1
|
8月前
|
JSON 数据格式
Required request parameter ‘name‘ for method parameter type String is not present 报错解决方法
Required request parameter ‘name‘ for method parameter type String is not present 报错解决方法
3334 0
|
12月前
Parameter ‘bookID‘ not found. Available parameters are [param1, bookId]
Parameter ‘bookID‘ not found. Available parameters are [param1, bookId]
104 0
|
12月前
Optional int parameter ‘id‘ is present but cannot be translated into a null value due to being ……
Optional int parameter ‘id‘ is present but cannot be translated into a null value due to being ……
164 0
|
存储 Shell
Understanding parameters:理解参数(Parameter)
Understanding parameters:理解参数(Parameter)
90 0
params argument given to the optimizer should be an iterable
params argument given to the optimizer should be an iterable
144 0
params argument given to the optimizer should be an iterable
Duplicate methods named spliterator with the parameters () and () are inherited from the types Colle
Duplicate methods named spliterator with the parameters () and () are inherited from the types Colle
49 0

热门文章

最新文章