Vergleich von Ganzzahlen, die Verwendung von "Und" in If-Anweisungen

Dies klingt vielleicht dumm aber ich bin stecken geblieben und ich habe kein Glück auf der Suche im internet würde was verursacht dies geschehen kann. Ich habe eine Methode, die ich überprüfen möchten, um sicherzustellen, dass beide ganze zahlen eingegeben sind beide positiv:

    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

Nun, wenn ich geben Sie einige zahlen in

  • BothPositive(1,1) = True
  • BothPositive(1,2) = False
  • BothPositive(-10, 10) = True

Warum ist das so? Was ist Los mit der Reihenfolge der Operationen im Vergleich-Anweisung oder was ist das "Und" vergleichen zu wollen? Ich verstehe nicht, warum das nicht funktionieren würde.

EDIT: ich verstehe, wie das zu umgehen, aber meine Frage ist warum ist dieser Auftritt? Ich will wissen, was Los ist, dass ist die Ursache.

  • Es ist schon eine lange Zeit, da habe ich etwas gemacht, das in VB ist, aber es scheint, wie die UND nicht das zurück, was Sie es erwarten. Warum nicht einfach tun If (num1 > 0) And (num2 > 0) Then?
InformationsquelleAutor Adam Beck | 2011-07-11
Schreibe einen Kommentar