1

我有一些代码用于检查文本框中值的长度,如果任何框没有内容,则字符串的长度为 0(或 null)。这是代码:

If (Len(Form_MainScreen.Ctl48.Value) Or Len(Form_MainScreen.Ctl49.Value) Or _
    Len(Form_MainScreen.Ctl50.Value) Or Len(Form_MainScreen.Ctl51.Value) Or _
    Len(Form_MainScreen.Ctl52.Value) Or Len(Form_MainScreen.Ctl53.Value) Or _
    Len(Form_MainScreen.Ctl54.Value) = 0) Then
              Do X
Else
              Do Y
End If

当一个字符串为空时,长度检查变为“null”,整个语句也是如此。但是,如果长度检查都不为空,则 if 语句变为“1”,然后继续执行 Do X 过程。

知道我能做什么吗?

谢谢,蒂姆

4

2 回答 2

3

您的代码片段对我来说没有多大意义,但是如果您使用的是 vb.net,并且如果任何值为 null 或长度为 0,您希望“X”执行,那么您可以执行以下操作:

If (String.IsNullOrEmpty(Form_MainScreen.Ctl48.Value) OrElse String.IsNullOrEmpty() OrElse _
    String.IsNullOrEmpty(Form_MainScreen.Ctl50.Value) OrElse String.IsNullOrEmpty(Form_MainScreen.Ctl51.Value) OrElse _
    String.IsNullOrEmpty(Form_MainScreen.Ctl52.Value) OrElse String.IsNullOrEmpty(Form_MainScreen.Ctl53.Value) OrElse _
    String.IsNullOrEmpty(Form_MainScreen.Ctl54.Value)) Then
    X()
Else
    Y()
End If 

UsingString.IsNullOrEmpty是一个内置函数,它将毫无例外地处理这两种情况。使用OrElse条件将允许稍微更快的处理,因为一旦接收到有效匹配,它将停止执行条件表达式。Or即使没有必要,使用只需要评估所有条件表达式。

于 2011-01-07T14:10:40.987 回答
1
If (Len(Form_MainScreen.Ctl48.Value)=0 Or Len(Form_MainScreen.Ctl49.Value)=0 Or _
    Len(Form_MainScreen.Ctl50.Value)=0 Or Len(Form_MainScreen.Ctl51.Value)=0 Or _
    Len(Form_MainScreen.Ctl52.Value)=0 Or Len(Form_MainScreen.Ctl53.Value)=0 Or _
    Len(Form_MainScreen.Ctl54.Value) = 0) Then
    Do X
Else
    Do Y
End If
于 2016-04-08T06:15:08.500 回答