它是可以使用的情况??
操作,这样的:使用空合并与属性或调用方法
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