if (SettingsControl == null == false)
含义:当SettingsControl对象没有初始化,为null的情况,或者说没有为SettingsControl分配内存的情况,走if的逻辑。
这句如果出现在笔试卷上,是道不错的题目,用来考应聘者逻辑思维的;
如果在实际项目中,最好不要这么写,别人无法第一眼看出逻辑,而且进行了2次判断,影响性能。
( (SettingsControl == null) == false )
其实只要这么写
if(SettingControl != null)
不就行了?你那句话虽然能理解但很拗口不是吗?
if (SettingsControl == null == false)
有必要这么写吗?你这个可以这样理解,同级符号时并且没有括号,那么就是从左到右查看。
首先判断SettingsControl == null,他们的结果必须为false时再执行。
可以写成这样啊:
1.if(!(SettingsControl==null))
2.if(SettingsControl!=null)
我觉得这个问题,就是 运算符 的优先级的问题。
== 运算符,是从左到右依次计算的
if (SettingsControl == null == false)
上面已经回答了 ,这句话真是。。。