起初我尝试If-Then-Else statement
使用ternary operator
.
然后它工作正常只是出于好奇,我决定使用 a 编写相同的代码,
null-coalescing operator
但它没有按预期工作。
public System.Web.Mvc.ActionResult MyAction(int? Id)
{
string MyContetnt = string.Empty;
//This line of code works perfectly
//MyContent = Id.HasValue ? Id.Value.ToString() : "Id has no value";
//This line of code dosent show "Id has no value" at all
MyContetnt = (System.Convert.ToString(Id) ?? "Id has no value").ToString();
return Content(MyContetnt);
}
如果我通过路径Mysite/Home/MyAction/8777运行程序,一切都很完美,输入的Id
数字将显示出来。
但是,如果我Id
通过路径MySite/Home/MyAction运行程序而没有任何内容, 则不会发生任何事情并且MyContetnt
将为空,而我希望在屏幕上看到“ Id has no value ”。
我错过了什么吗?
编辑:我很好奇是否可以通过使用来编写代码?(空合并运算符)?