我有一些代码用于检查文本框中值的长度,如果任何框没有内容,则字符串的长度为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”,整个语句也是如此。 但是如果长度检查都不为null,则if语句变为“1”,然后再次执行Do X过程。
知道我能做什么吗?
谢谢, 添
答案 0 :(得分:3)
你的代码片段对我来说没有多大意义,但是如果你正在使用vb.net并且你希望“X”在任何值为null或0长度时执行,那么你可以执行以下操作: / p>
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
使用String.IsNullOrEmpty
是一个内置函数,可以毫无例外地处理这两个条件。使用OrElse
条件将允许稍微更快的处理,因为它将在收到有效匹配后停止执行条件表达式。简单地使用Or
需要评估所有条件表达式,即使它不是必需的。
答案 1 :(得分: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