ASP.NET MVC DefaultValue属性与C#可选参数

问题描述

|| 此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)
{
    //...
}
这两个语句在功能上是否有所不同,还是仅出于偏好?     

解决方法

相同的东西,这是个人喜好问题。我会使用第二个,因为它的击键次数更少。我还认为ѭ2会涉及一些反射伏都教,因此,如果您对性能有所了解,则可能更喜欢C#4.0可选参数。     

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...