【发布时间】:2011-07-11 15:36:29
【问题描述】:
这听起来可能很愚蠢,但我被困住了,我没有运气在互联网上搜索导致这种情况发生的原因。我有一个方法要检查以确保输入的两个整数都是正数:
Public Function BothPositive(ByVal num1 As Integer, ByVal num2 As Integer) As Boolean
If (num1 And num2) > 0 Then
Return True
Else
Return False
End If
End Function
现在如果我要输入一些数字
- BothPositive(1,1) = True
- BothPositive(1,2) = 假
- BothPositive(-10, 10) = True
这是为什么?比较语句中的操作顺序是怎么回事,或者试图比较的“与”是什么?我不明白为什么这行不通。
编辑:我了解如何解决,但我的问题是为什么会发生这种情况?我想知道是什么导致了这种情况。
【问题讨论】:
-
我已经很久没有在 VB 中做任何事情了,但似乎 AND 并没有返回您期望的结果。为什么不直接
If (num1 > 0) And (num2 > 0) Then?
标签: vb.net if-statement comparison integer