2010-06-20 10 views
-1

我發現一直使用AndAlso/OrElse,非常討厭。它減少了代碼的可讀性,特別是當條件變得複雜時。使用VB.Net和/或運營商的邏輯短路:任何編譯器指令/解決方法?

有什麼建議嗎?

+1

這有助於重申在實際*問題*問題,而不是僅僅要求在標題中的問題,然後去在問題本身中隨機抽出一些話題。 – MatrixFrog 2010-06-20 05:47:03

+0

那會是[Yabba Dabba Doo](http://en.wikipedia.org/wiki/The_Flintstones),而不是Yaba Yaba Du。至少得到**事實**的權利。 – Kobi 2010-06-20 06:01:28

+1

另一個合理的途徑是在大多數情況下使用非短路版本'And'&'Or',而實際上邏輯短路並不重要。這增加了一些自我記錄,因爲偶爾使用'AndAlso'&'OrElse'會很突出,並強調你依賴於短路。 – MarkJ 2010-06-21 16:33:58

回答

4

我很確定沒有(支持)方法來改變And/Or的含義,並且假設您的代碼將來可能會被其他人維護或讀取,這將是一個非常糟糕的主意, d將它們完全混淆。

如果條件太複雜,我建議將其分成多行。
所以不是:

If x AndAlso y AndAlso (z Or w) Then 

讓它像:

xy = x AndAlso y 
zw = z Or w 
if xy AndAlso zw Then