当前位置:  开发笔记 > 编程语言 > 正文

vb.net"if statement"包含加号

如何解决《vb.net"ifstatement"包含加号》经验,为你挑选了1个好方法。

我有一段代码,我很困惑:

                If (_campaignIdValue <> "SALESFORCE") And (_campaignIdValue <> "SFNESMORT") And _
                    (_campaignIdValue <> "SFNESTERM") And (_campaignIdValue <> "SFTENNIS") +
                   (_campaignIdValue <> "LEADSINIT") And (_campaignIdValue <> "LEADSEXPIR") And _
                   (_campaignIdValue <> "LEADSRSRCH") Then

                    ' Some code
                End If

为什么if语句中的"+"是正确的,它是什么意思?



1> Tim Schmelte..:

设置Option Strict On(最好作为默认项目设置),然后你没有得到任何魔术布尔转换,但你必须修复此编译器错误.有Option Strict Off(不幸的是默认)我认为Convert.ToBoolean被称为,这意味着任何不等于零的东西都被视为True.很奇怪,不是吗?

Dim weirdBool As Boolean = 1 - 1 ' evaluates to False with Strict Off '
weirdBool = 1 + 1                ' evaluates to True with Strict Off '

Option Strict On你得到这个有意义的编译器错误:

Option Strict On禁止从"整数"到"布尔"的隐式转换

您还应该使用AndAlso替代AndOrElse取代Or,因为这些都是短路运营商.否则后面会抛出一个意外的异常:

Dim str As String = Nothing
If str IsNot Nothing And str.Length > 0 Then

End If

在这里,即使str IsNot Nothing已经评估了双方False.

推荐阅读
雯颜哥_135
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有