Лучшая практика для операторов if, превышающих предел продолжения в 10 строк в Visual Basic 6.0 - PullRequest
1 голос
/ 12 января 2012

Пример:

If condition or _
   condition or _
   condition or _
   condition or _
   condition or _
   condition or _
   condition or _
   condition or _
   condition or _
   condition or Then
    Do something
End If

Скажем, у меня есть более 10 условий, которые мне нужно оценить ... Есть ли лучший способ, чем просто вложить несколько наборов этих if операторов?

Ответы [ 3 ]

3 голосов
/ 12 января 2012

Вот вариант - делать по одному тесту за раз, отслеживая конечный результат в логическом значении. Когда вы все закончите, просто протестируйте логическое значение.

Dim A As Long
Dim B As Long
Dim C As Long
Dim D As Long

Dim Result As Boolean

Result = True
Result = Result And (A > 10)
Result = Result And (B > 10)
Result = Result And (C > 10)
Result = Result And (D > 10)

If Result Then
    ' Do "something" here...
End If

Если любое из значений A, B, C или D меньше 10, Result переключится на False и останется таким же с тех пор. Это будет True только если все тесты пройдут.

2 голосов
/ 12 января 2012

Вы можете использовать операторы Case. Это немного чище, чем if s: http://msdn.microsoft.com/en-us/library/cy37t14y%28v=vs.80%29.aspx

1 голос
/ 16 января 2012
Dim Result as boolean
result = false
If condition1 Then result = true
ElseIf condition2 Then result = true
ElseIf condition3 Then result = true
ElseIf condition4 Then result = true

If result Then debug.print "Success"

Если вы хотите использовать оператор выбора, когда условия не совпадают, используйте:

Select Case True
    Case A=5,b=10,c="my answer",d=11
      ....
End Select
...