vb.net逻辑符号 vb中逻辑表达式运算规则

VB.net语言当中,And和AndAlso有什么区别?

AndAlso是短路的逻辑与运算符,And有两个含义:非短路的逻辑与运算符;按位与运算符

专注于为中小企业提供成都做网站、网站建设服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业阿克塞哈萨克族自治免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了1000+企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。

Dim c=a AndAlso b表达式中,若表达式a的计算结果是False,无论表达式b是什么样,都不再进行计算,直接返回c的值

Dim c=a And b表达式中,无论a和b是怎样的表达式,都要全部计算完成后再返回c的值

AndAlso相比And的区别,除了性能优势外,更重要的是,从语义上来说

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

这种实际编程中经常遇到的判断,如果把AndAlso替换成And,在m Is Nothing的情况下会引发NullReferenceException空引用异常,而AndAlso能确保不会引发空引用异常

进行逻辑运算的时候,And只在一种情况下有价值:不仅想要得到c的值,而且无论如何都希望执行b过程,并且自己能确保a=False不会影响b的执行。其他情况下务必使用AndAlso

OrElse和Or同理,作为上面那句的逆判断

Dim c=m Is Nothing OrElse m.Failed

也是经常使用的。当然在进行位运算时,只能用And和Or,AndAlso和OrElse没有位运算功能

vb 中 &=符号是什么意思?

根据使用位置的不同,有三种不同的意思:

1、字符串连接符:

s = "123" "abc"

那么s的值是"123abc"

2、长整型数(Long)定义符:

Dim k

相当于

Dim k As Long

3、十六进制或八进制数的前导符:

Print H3EF7

H3EF7就是个16进制数

Print O542

O542则是个8进制数

=也有两种不同意思:

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

vb.net 中 逻辑与 ,按位与都可以用 And 表示,能用& 和&&吗?

vb6.0中也有,

数字 就是让这个数字为long型(隐式声明Long 数据类型)

这就显然是令数字0为long型的意思

如果不加就会默认是integer型

有很多作用

c=a b 就是把a和b以字符串形式连接起来并赋给c

如果只是要将其它类型数据转换为字符串只要用cstr(变量)就行了

dim x 在定义的时候就是把变量x定义为long型,就像 dim x as long 一样的效果

H十六进制数 的H表示后面的是十六进制数,还有O是表示后面的是八进制数

VB中不能用。

VB也可以按位与运算的。

x=15 and 8的值就是8。

VB中的And可以表示按位与,也可以表示逻辑与,就看参与运算的量是什么类型的了。


标题名称:vb.net逻辑符号 vb中逻辑表达式运算规则
文章源于:http://ybzwz.com/article/dosgjce.html