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 」と表示されるはずです。
何か不足していますか?
編集: ?? を使用してコードを書くことは可能ですか? ( null 合体演算子 )?