2

我听说 VB 会同时与多个逻辑运算符混淆,所以我被困在这里。我有 3 个文本框,我想检查它们是否为空。

这个简单的 If 不起作用:

If txt1.Text = "" Or txt2.Text = "" Or txt3.Text = "" Then -Something-

但是,如果我只将其中两个进行比较,它就会起作用。

感谢您的回答。

4

3 回答 3

4

上面的代码应该可以工作,但使用 String.IsNullOrEmpty 检查 null 或空字符串更优雅:

 If String.IsNullOrEmpty(txt1.Text) Or _
   String.IsNullOrEmpty(txt2.Text) Or _
   String.IsNullOrEmpty(txt3.Text) Then
        'Do something
    End If

PD:如果你使用多个“OR”,所有的条件都会被检查。

如果您使用 OrElse,它将按顺序检查条件,当一个条件不成立时,将不检查下一个条件语句

于 2012-11-15T08:35:00.103 回答
3

对于或它不混淆。以上工作正常。

于 2012-11-15T08:35:31.273 回答
0

您的代码有效。如果您希望省略检查的其余部分,您可以使用 OrElse

  If txt1.Text = "" OrElse txt2.Text = "" OrElse txt3.Text = "" Then 

  End If

或更好

  If String.IsNullOrEmpty(txt1.Text) OrElse String.IsNullOrEmpty(txt2.Text) OrElse String.IsNullOrEmpty(txt3.Text) Then 

  End If
于 2012-11-15T08:43:50.143 回答