当前半部分为空时,防止if语句的后半部分

Geo*_*kan 5 vb.net if-statement nothing

我在VB.net中有一个声明,我认为我写的正确,以防止后半部分被评估.它看起来像这样:

If((myDataSet2 IsNot Nothing)或myDataSet2.Tables("CurData").Rows.Count> 0)

但是它不会跳过第二个表达式"myDataSet2.Tables("CurData").Rows.Count> 0"就像我想要的那样.

我应该改变什么?

Dou*_*bin 8

使用OrElse运算符.

If myDataSet2 IsNot Nothing OrElse myDataSet2.Tables("CurData").Rows.Count > 0
Run Code Online (Sandbox Code Playgroud)

编辑:请参阅我对您原始问题的评论.您可能正在寻找:

If myDataSet2 IsNot Nothing AndAlso myDataSet2.Tables("CurData").Rows.Count > 0
Run Code Online (Sandbox Code Playgroud)

这将检查myDataSet2是否为空.假设它不是,它将检查至少有一行.如果为null,则不检查第二个条件.