189 8069 5689

vb.net与或非 vbs 与或非

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

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

从策划到设计制作,每一步都追求做到细腻,制作可持续发展的企业网站。为客户提供网站建设、成都网站建设、网站策划、网页设计、空间域名、虚拟空间、网络营销、VI设计、 网站改版、漏洞修补等服务。为客户提供更好的一站式互联网解决方案,以客户的口碑塑造优易品牌,携手广大客户,共同发展进步。

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.net中的 and判断条件问题

911 X + 1 916 还有 704 Y +  1 709,没有这么连续判断的。

是比较运算符,是运算符!+、-、*、/ 是算术运算符,也是运算符!

既然是运算符,就得按照运算优先级(所谓优先级,就是 * 运算比 + 运算要优先)从左到右依次计算,显然 911 X + 1 916 里两个 的运算优先级是相同的。

那么从左至右依次计算,先算 911 X + 1,得到结果 True(-1) 或者 False(0)(不要问我为什么True=-1,False=0,.NET里就是这么规定的),再计算 True / False 916,结果始终为 True。704 Y + 1 709 也是同理,两个 True 之间 And 了还是 True,结果当然是条件一直成立。

正确写法:

If (911  X + 1 And X + 1  916) And (704  Y + 1 And Y + 1  709) Then

请问,VB中的逻辑运算符都是什么意思?

1、“逻辑与”运算符,符号:And,用法:a and b,释义:如果a与b都为TRUE,则结果为TRUE,否则为FALSE。

2、“逻辑与”运算符,符号:,用法:a b,释义:如果a与b都为TRUE,则结果为TRUE,否则为FALSE。

3、“逻辑或”运算符,符号:|| ,用法:a || b,释义:如果a或b任一为TRUE,则结果为TRUE,否则为FALSE。

4、“逻辑异或”运算符,符号:Xor,用法:a xor b,释义:如果a或b同位相异,则结果为TRUE,否则为FALSE。

5、“逻辑非”运算符,符号:Not,用法:not a ,释义:如果a不为 TRUE,则结果为TRUE,否则为FALSE。

6、“逻辑非”运算符,符号:!,用法:!a,释义:如果a不为 TRUE,则结果为TRUE,否则为FALSE。

扩展资料:

在形式逻辑中,逻辑运算符或逻辑联结词把语句连接成更复杂的复杂语句。例如,假设有两个逻辑命题,分别是“正在下雨”和“我在屋里”,我们可以将它们组成复杂命题“正在下雨,并且我在屋里”或“没有正在下雨”或“如果正在下雨,那么我在屋里”。

逻辑运算符的优先级为:NOT/!AND/OR/||Xor,同级运算从左到右。

VB 或与非

and 与

or 或

xor 抑或

not 非

符号是作字符串连接用的,比如"abc" "123"的结果为"abc123"


网页题目:vb.net与或非 vbs 与或非
URL链接:http://jkwzsj.com/article/dohpjsp.html

其他资讯