IsNot没有什么是失败的

时间:2015-08-11 14:07:40

标签: vb.net

我见过类似的问题,因为我必须与VB.net合作完成一个项目,我觉得很简单。

If (myValue IsNot Nothing) And (myValue.Length > 12) Then
    ' do some stuff
End If

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

If (Not myValue Is Nothing) And (myValue.Length > 12) Then
    ' do some stuff
End If

在我非常习惯的C#中它很容易但是在VB.net中我找不到任何方式。

1 个答案:

答案 0 :(得分:6)

使用AndAlso代替And(和OrElse代替Or)。

AndAlso对两个表达式执行短路逻辑连接。 And  即使第一个已经返回False,也会评估两者。

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