IsNot没有什么是失败的

Adn*_*een 2 vb.net

我已经看到了类似的问题,因为我必须与VB.net合作开展一个项目,我坚持相当简单的事情.

If (myValue IsNot Nothing) And (myValue.Length > 12) Then
    ' do some stuff
End If
Run Code Online (Sandbox Code Playgroud)

现在,当myValue为Nothing时,它会给我null引用异常.我也尝试过,

If (Not myValue Is Nothing) And (myValue.Length > 12) Then
    ' do some stuff
End If
Run Code Online (Sandbox Code Playgroud)

在C#中,我非常使用它很容易但在VB.net中我找不到任何方式.

Tim*_*ter 6

使用AndAlso而不是And(而OrElse不是Or).

AndAlso在两个表达式上执行短路逻辑连接.And 即使第一次已经返回,也将评估两者False.

注意:出于同样的原因,您还应该使用If-operator而不是旧的VB函数IIf.