C#中 中 A==B && C==D ? E: F语法的一点问题

在if( A==B && C==D)
这样的判断中,如果A!=B,则不会执行C==D的操作。
这样的好处是,比如我需要判断 object obj  转换为string后是否等于string.Empty,则可以这样写:
if(obj != null && obj.ToString() != string.Empty)   ,因为如果obj == null了,则obj.ToString就会出现异常。

但在  A==B && C==D ? E: F 这样的语法中,通过试验发现,如果 A!=B,还是会判断C==D,如果想用做上面例子的操作,则肯定会发生异常!

不知道 C#语言 在设计的时候,是基于何种目的,要这样设计语法规则?

一点点疑惑,只为得到高手的解答。3q

原文地址:https://www.cnblogs.com/jacktu/p/639191.html