2011-06-24 8 views

回答

6

這就是所謂的boolean short-circuit evaluation和(雖然[citation-needed])是的,C#和VB.NET有它(用於校正感謝@Lasse)。

在C#,||&&|&,分別 短路的版本。

+1

你的意思是C#和VB.NET有(和其他編程語言也一樣),.NET並沒有任何在這個問題上說了。 –

+1

+1但我想補充說:這條規則的例外是And和Or在VB中。要短路,請改用AndAlso/OrElse。 – Keith

+0

感謝@Lasse,我經常不常訪問.NET世界。 –

4

是的,這個功能被稱爲短路評估。如果AND運算符(&&)的第一個參數爲false,則整個表達式將爲false。與OR類似(||)如果第一個操作數爲真,則整個事情都是真的。

if(a != null && a.isValid()) 
     ... Code ... 

這樣,你是不會得到一個異常,如果a爲null:如果你想寫類似代碼

此功能非常有用。

MSDN文檔http://msdn.microsoft.com/en-us/library/2a723cdk%28v=vs.71%29.aspx

+0

很好的例子,關於先不用擔心空引用的問題。 – alexD

相關問題