1
我发现,在旧的VBA代码中,有些奇怪的东西。我预计“如果没有其他”,但没有,它编译:三个“If”语句但只有两个“End If”?
Sub main()
Dim xyz As Integer
xyz = 10 'Not important
If xyz < 20 Then 'If #1
If xyz <> 11 Then 'If #2
If xyz = 10 Then _
MsgBox ("10") 'If #3
End If 'End if #1
Else
MsgBox ("ok")
Exit Sub
End If 'End if #2
End Sub 'No end if #3 ?
我不想重复使用该代码。我只是好奇它是如何工作的,没有第三个“如果”。
问题是第三个if实际上是一行if语句,带'_'换行符,所以它不需要结束if。 –
使用这样的续行字符太糟糕了。即使没有这些,逻辑结构似乎也是不必要的晦涩难懂。 –