以下代码中的错误是什么?我对AndAlso
语句感到困惑,不知道它是否正确。以下代码给出了零。
If test >=31 AndAlso test <366 then
test2=(cstr(Math.Floor(length /10.5)))
test=(length Mod 10.5)
test= (length2 * 10.5)
test2=cstr(length)
end if
答案 0 :(得分:1)
AndAlso
与And
相同,但只有AndAlso
左侧的表达式才会被测试。有时,如果您执行类似
if i <= ubound(a) andalso a(i) = 3 then
在您的示例中,如果test为31或更小或test大于366,则不会执行四个赋值语句。如果在执行if语句时测试未定义为零值,则test和test2将不会更改。这可能是你的计划中发生的事情。
答案 1 :(得分:0)
您错过了Then
。
例如:
If (ThisQuestionHadMoreDetails) Then '<-- notice the Then
End If