Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 2 ASP.NET MVC DefaultValue属性与C#可选参数_Asp.net Mvc 2_C# 4.0_Default Value_Optional Arguments - Fatal编程技术网

Asp.net mvc 2 ASP.NET MVC DefaultValue属性与C#可选参数

Asp.net mvc 2 ASP.NET MVC DefaultValue属性与C#可选参数,asp.net-mvc-2,c#-4.0,default-value,optional-arguments,Asp.net Mvc 2,C# 4.0,Default Value,Optional Arguments,此ASP.NET MVC2方法签名(使用DefaultValue属性)之间有什么区别: public ActionResult DoStuff([DefaultValue(MyEnum.Alpha)] MyEnum enumToUse, bool printPage = false) { //... } 而这个签名却使用了一个C#4.0可选参数 public ActionResult DoStuff(MyEnum enumToUse = MyEnum.Alpha, bool print

此ASP.NET MVC2方法签名(使用DefaultValue属性)之间有什么区别:

public ActionResult DoStuff([DefaultValue(MyEnum.Alpha)] MyEnum enumToUse, bool printPage = false)
{
    //...
}
而这个签名却使用了一个C#4.0可选参数

public ActionResult DoStuff(MyEnum enumToUse = MyEnum.Alpha, bool printPage = false)
{
    //...
}

这两种说法在功能上是不同的,还是只是偏好的问题?

相同的东西,是个人偏好的问题。我会使用第二个,因为它的按键次数较少。我还认为,
DefaultValueAttribute
将涉及一些反射巫术,因此如果你对性能不满意,你可能更喜欢C#4.0可选参数。

同样的东西,这是个人偏好的问题。我会使用第二个,因为它的按键次数较少。此外,我认为
DefaultValueAttribute
将涉及一些反射巫术,因此如果您对性能不太了解,您可能更喜欢C#4.0可选参数