[英]Can I have defaults for parameters in C#?
我有以下功能:
public ActionResult Index(string caller_id, int? id)
{
现在,我使用以下代码设置值:
var _id = id.HasValue ? (int) id : 0;
在不设置id的情况下调用函数时,是否可以将id的值默认设置为某些值?
谢谢,
艾莉森
如果使用的是C#4.0或更高版本,则可以为调用者未指定的参数指定默认值。
public ActionResult Index(string caller_id, int id = 0)
{
// ...
}
请注意,此代码不像您的代码那样使用可为空的类型。 除非没有默认值永远不会显示为有效值,否则没有必要。
做到这一点的“老派”方法将有很多负担。
public ActionResult Index(string caller_id)
{
return Index(caller_id, 0);
}
public ActionResult Index(string caller_id, int id)
{
...
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.