當InnerException爲空時,這將引發空引用異常。爲什麼會拋出空引用異常?
String s = " inner exception: " + e.InnerException == null ? "None" : e.InnerException.Message;
但這不會:
String s = " inner exception: " + (e.InnerException == null ? "None" : e.InnerException.Message);
上述兩個構建的罰款。我無法弄清楚前者試圖做什麼,這會導致它評估e.InnerException.Message
。他們爲什麼不等同?
這就是爲什麼最好在非明顯情況下包含括號,所以您不必考慮運算符優先級。 – Malcolm
@Malcolm我完全同意。 – 2011-11-30 00:36:22