AndAlso是短路的邏輯與運算符,And有兩個含義:非短路的邏輯與運算符;按位與運算符
專注于為中小企業(yè)提供成都做網(wǎng)站、網(wǎng)站建設服務,電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)阿克塞哈薩克族自治免費做網(wǎng)站提供優(yōu)質的服務。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了1000+企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設實現(xiàn)規(guī)模擴充和轉變。
Dim c=a AndAlso b表達式中,若表達式a的計算結果是False,無論表達式b是什么樣,都不再進行計算,直接返回c的值
Dim c=a And b表達式中,無論a和b是怎樣的表達式,都要全部計算完成后再返回c的值
AndAlso相比And的區(qū)別,除了性能優(yōu)勢外,更重要的是,從語義上來說
If a Then
If b Then
End If
End If
等價于If a AndAlso b Then而不等價于If a And b Then
考慮這種情況:
Dim m As ClassM=****
Dim c=m IsNot Nothing AndAlso m.Succeeded
這種實際編程中經(jīng)常遇到的判斷,如果把AndAlso替換成And,在m Is Nothing的情況下會引發(fā)NullReferenceException空引用異常,而AndAlso能確保不會引發(fā)空引用異常
進行邏輯運算的時候,And只在一種情況下有價值:不僅想要得到c的值,而且無論如何都希望執(zhí)行b過程,并且自己能確保a=False不會影響b的執(zhí)行。其他情況下務必使用AndAlso
OrElse和Or同理,作為上面那句的逆判斷
Dim c=m Is Nothing OrElse m.Failed
也是經(jīng)常使用的。當然在進行位運算時,只能用And和Or,AndAlso和OrElse沒有位運算功能
根據(jù)使用位置的不同,有三種不同的意思:
1、字符串連接符:
s = "123" "abc"
那么s的值是"123abc"
2、長整型數(shù)(Long)定義符:
Dim k
相當于
Dim k As Long
3、十六進制或八進制數(shù)的前導符:
Print H3EF7
H3EF7就是個16進制數(shù)
Print O542
O542則是個8進制數(shù)
=也有兩種不同意思:
1、賦值命令符:
a = 123
就是把變量a的值設為123的意思
2、邏輯比較運算符:
If a = b Then
如果a等于b就怎樣怎樣
另外,你說的VB是指VB6還是VB.NET?如果是VB.NET,那么
a = b 相當于 a = a b
如果是VB6,那么:
a = b
VB會先定義一個長整型變量a,然后讓它的值等于變量b
vb6.0中也有,
數(shù)字 就是讓這個數(shù)字為long型(隱式聲明Long 數(shù)據(jù)類型)
這就顯然是令數(shù)字0為long型的意思
如果不加就會默認是integer型
有很多作用
c=a b 就是把a和b以字符串形式連接起來并賦給c
如果只是要將其它類型數(shù)據(jù)轉換為字符串只要用cstr(變量)就行了
dim x 在定義的時候就是把變量x定義為long型,就像 dim x as long 一樣的效果
H十六進制數(shù) 的H表示后面的是十六進制數(shù),還有O是表示后面的是八進制數(shù)
VB中不能用。
VB也可以按位與運算的。
x=15 and 8的值就是8。
VB中的And可以表示按位與,也可以表示邏輯與,就看參與運算的量是什么類型的了。
網(wǎng)站標題:vb.net邏輯符號 vb中邏輯表達式運算規(guī)則
網(wǎng)頁路徑:http://jinyejixie.com/article24/dosgjce.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設計、Google、網(wǎng)站制作、關鍵詞優(yōu)化、自適應網(wǎng)站、App設計
聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)