它是可以使用的情況??
操作,這樣的:使用空合併與屬性或調用方法
string str = collection["NoRepeate"] ?? null; // Will not compile
//because collection["NoRepeate"] is object
這裏的問題是,它是不能分配collection["NoRepeate"]
這是object
到str
和collection["NoRepeate"].ToString()
當它的值爲空時拋出異常。
我現在使用條件運算?:
:
str = collection["NoRepeate"].HasValue ? collection["NoRepeate"].ToString() : null
但問題是重複的常量字符串。
對於第一條語句:如果'collection [「NoRepeate」]是非空的,那麼'??零「部分被忽略。如果它是空的,那麼它已經是'空'了,所以'??空'是多餘的。 – kennytm 2011-04-04 16:11:48
我同意KennyTM。在null合併運算符中放置'null'是沒有意義的。該運算符的目的是查找第一個非空值。我會認爲只是字符串str =集合[「NoRepeate」];將是你想要的。 – 2011-04-04 16:24:30
'collection [「NoRepeate」]'是對象,我寫道這不會編譯。 – Homam 2011-04-04 16:29:06