If dblRoundTrip > 0 And dblRoundTrip < 100 Then
If dblDaysWorked > 0 And dblDaysWorked < 32 Then
If dblPerGallon > 0 And dblPerGallon < 50 Then
If dblGasCost > 0 And dblGasCost < 5 Then
If dblMaint > 0 And dblMaint < 500 Then
If dblParking > 0 and dblParking < 500 Then
If dblInsure > 0 And dblInsure < 500 Then
blnValidateCheck = True
End If
End If
End If
End If
End If
End If
End If
我必须检查所有这些TextBox是一个特定的数字,但我主要担心的是它们实际上是否包含某些内容。我不希望另一个if语句集群检查null TextBoxes。我在想循环语句是最好的,但我不知道如何解决这个问题。
答案 0 :(得分:0)
首先应检查文本是否可以解析为双倍。使用{'Dogs': True, 'Cats': True}
。您还应该避免嵌套Double.TryParse
- 语句。
If
这更具可读性,可测试性和可维护性。
另一种安全方法是使用支持范围的NumericUpDown
-control。
答案 1 :(得分:0)
我主要担心的是,如果他们确实有某些内容
以下是Linq
解决方案...(检查TextBox
上的任何Form
控件是否包含有效Double
。此外,我没有解决检查比较问题,因为那不是您的关注......
Public Shared Function TextBoxControlsEmpty(ByVal frm As Form) As Boolean
Return Not frm.Controls.OfType(Of TextBox)().All(Function(t) Double.TryParse(t.Text, New Double))
End Function
<强>用法强>
If TextBoxControlsEmpty(Me) Then
'Handle this...
Else
'None are empty and are doubles...
End If