2012-01-04 81 views
0

我有以下幾點:在C#中如果我可以第一次測試停止其他測試或執行所有測試嗎?

@if (@Model.Meta.LinkKey.IsNotNullOrEmptyOrZeros() & [email protected]("-")) 

這是ASP.NET MVC所以我只能用一個如果()和一切都裝進那個。第一個測試工作好,如果值爲null但在以後的測試失敗,提示信息:

Object reference not set to an instance of an object. 

有沒有一種方法,我可以做:第一條件表明值是C#沒有做任何更多的測試一個null?我似乎記得在C中這是可能的,但我不知道如何在C#中執行它。

+2

嘗試用&&替換&& – 2012-01-04 11:55:48

回答

1

如果您只是使用&而不是&&您不會短路第二個布爾表達式的評估。在它的當前形式中,它評估兩個表達式,然後確定它們是否都是真實的。

0

使用&&而不是&來啓用短路操作。 &是一個二進制和。

0

您需要使用&& - 因爲它是代碼不會發生什麼你認爲! &按位AND運算符,當然不是你想要的。

&&是布爾AND,也是失敗時的捷徑。

相關問題