首页 > 解决方案 > AND/AndAlso 与 Or/OrElse 混淆

问题描述

我需要确保第一个项目有一个条目。(这是一个 CSV 文件的导入)。预期的操作是如果 Item(471)).ToString 为空,但 Item(475)).ToString) 或 Item(479)).ToString) 警报中的值 >0 需要日期。

我尝试了几种方法,但无法使其正常工作。如果我取出 OrElse 语句并只使用两者中的一个,它就可以工作。我很困惑正确的语法来让它工作。有人可以指出我正确的方向吗?

    If (MyList.Items.Item(471)).ToString = "" And CDec((MyList.Items.Item(475)).ToString) > 0D OrElse CDec((MyList.Items.Item(479)).ToString) > 0D Then
        MessageBox.Show("FUELING DATE #1 CANNOT BE BLANK", "Critical Warning", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
    Else
        tbDate1.Text = (MyList.Items.Item(471)).ToString
    End If

标签: vb.net

解决方案


If (MyList.Items.Item(471)).ToString = "" AndAlso (CDec((MyList.Items.Item(475)).ToString) > 0D OrElse CDec((MyList.Items.Item(479)).ToString) > 0D) Then
    MessageBox.Show("FUELING DATE #1 CANNOT BE BLANK", "Critical Warning", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
Else
    tbDate1.Text = (MyList.Items.Item(471)).ToString
End If

简而言之

If condition1 AndAlso (condition2 OrElse condition3) Then

推荐阅读