[筆記文]運算子 AndAlso 和 OrElse

  • 17711
  • 0

AndAlso :
如果 AndAlso 運算式中的第一個運算式評估為 False,則不會評估第二個運算式,因為它無法變更最終結果,而且 AndAlso 會傳回 False。
OrElse :
執行最少運算 (Short Circuit) 的邏輯分離,如果 OrElse 運算式中的第一個運算式評估為 True,則不會評估第二個運算式,因為它無法變更最終結果,而且 OrElse 會傳回 True。

參考來源 : MSDN Library (繁體中文)Visual Basic 2003~2005開發秘訣與範例大全 (書)


 

1 . 開發環境 :

 

VS2005 + .net 2.0 + XP SP3

 

2 . 定義 : 

AndAlso 運算子 :

如果 AndAlso 運算式中的第一個運算式評估為 False,則不會評估第二個運算式,因為它無法變更最終結果,而且 AndAlso 會傳回 False

 

OrElse 運算子 :

執行最少運算 (Short Circuit) 的邏輯分離,如果 OrElse 運算式中的第一個運算式評估為 True,則不會評估第二個運算式,因為它無法變更最終結果,而且 OrElse 會傳回 True

 

補充 : 最少運算 (Short-Circuiting),引用簡述 Visual Basic 2003~2005開發秘訣與範例大全 

在書中稱為 [ 最短路徑 ] ,就是當第一個評量運算式的結果已經能夠決定運算的最終結果時,就不會再去評量其他的運算式,

因此可以避免掉額外且不需要的評量作業,尤其是當所略過的是複雜或內含程序呼叫的運算式時,......

 

3 . 資料型別 : 

AndAlso 運算子 :

只針對 Boolean 資料型別 (Visual Basic) 定義。Visual Basic 會在必要時將每個運算元轉換成 Boolean,並且完全以 Boolean 執行運算。

若將結果指派給數字型別,Visual Basic 就會將它從 Boolean 轉換成該型別。

 

OrElse 運算子 : 

只針對 Boolean 資料型別 (Visual Basic) 定義。Visual Basic 會在必要時將每個運算元轉換成 Boolean,並且完全以 Boolean 執行運算。

若將結果指派給數字型別,Visual Basic 則會將它從 Boolean 轉換成該型別。

 

補充 : AndAlso 運算子的其中一個作用是先測試物件執行個體是否存在,再嘗試存取其中一個成員。

 


參考連結網址 :

AndAlso 運算子

http://msdn.microsoft.com/zh-tw/library/cb8x3kfz(v=vs.80).aspx

OrElse 運算子

http://msdn.microsoft.com/zh-tw/library/ea1sssb2(v=vs.80).aspx


==================================================== 
有些事就該把它當作一種回憶...
一種放在記憶中任隨時間慢慢的侵蝕慢慢的隨風漂泊........
 ===================================================
~~~請支持 點部落 格,點點下方的廣告吧~~~