今天看到這個 operator ?? , 雖然可以了解前後文他的功能, 不過還真是第一次看到.
於是查了一下, 在 msdn 上的說明:
http://msdn.microsoft.com/en-us/library/ms173224.aspx
這個運算子的應用情境如下:
string mytest = ""; if(Request.QueryString["test"]==null){ mytest = ""; }else{ mytest = Request.QueryString["test"]; }
若在取得變數時, 會有 null 的狀況, 又要給定預設值時, 可以利用上面程式碼, 不過是不是又臭又長呢? 可以利用這個運算子 ?? 來簡化, 如下:
string mytest = Request.QueryString["test"] ?? "";
當然, 和三元運算子的寫法同義, 只是上面的 ?? 更精簡一些:
string mytest = Request.QueryString["test"] == null ? "" : Request.QueryString["test"];
相關閱讀:
http://demo.tc/Post/414