Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Ett booleskt uttryck är ett uttryck som utvärderas till värdet för den booleska datatypen: True eller False.
Boolean uttryck kan ha flera former. Det enklaste är den direkta jämförelsen av värdet för en Boolean variabel till en Boolean literal, som du ser i följande exempel.
If newCustomer = True Then
' Insert code to execute if newCustomer = True.
Else
' Insert code to execute if newCustomer = False.
End If
Två betydelser av = operatorn
Observera att tilldelningsuttrycket newCustomer = True ser likadant ut som uttrycket i föregående exempel, men den utför en annan funktion och används på olika sätt. I föregående exempel representerar uttrycket newCustomer = True ett booleskt värde och = tecknet tolkas som en jämförelseoperator. I en fristående sats tolkas tecknet = som en tilldelningsoperator och tilldelar värdet till höger till variabeln till vänster. I följande exempel visas detta.
If newCustomer = True Then
newCustomer = False
End If
Mer information finns i Värdejämförelser och Instruktioner.
Jämförelseoperatorer
Jämförelseoperatorer som =, <, >, <>, <=och >= producerar booleska uttryck genom att jämföra uttrycket till vänster om operatorn med uttrycket till höger om operatorn och utvärdera resultatet som True eller False. I följande exempel visas detta.
42 < 81
Eftersom 42 är mindre än 81 utvärderas det booleska uttrycket i föregående exempel till True. Mer information om den här typen av uttryck finns i Värdejämförelser.
Jämförelseoperatorer kombinerade med logiska operatorer
Jämförelseuttryck kan kombineras med logiska operatorer för att skapa mer komplexa booleska uttryck. I följande exempel visas användningen av jämförelseoperatorer tillsammans med en logisk operator.
x > y And x < 1000
I föregående exempel beror värdet för det övergripande uttrycket på värdena för uttrycken på varje sida av operatorn And . Om båda uttrycken är Trueutvärderas det övergripande uttrycket till True. Om något av uttrycken är Falseutvärderas hela uttrycket till False.
Short-Circuiting Operatörer
Logiska operatorer AndAlso och OrElse uppvisar beteende som kallas kortslutning. En kortslutningsoperator utvärderar den vänstra operanden först. Om den vänstra operanden avgör värdet för hela uttrycket fortsätter programkörningen utan att utvärdera det högra uttrycket. I följande exempel visas detta.
If 45 < 12 AndAlso testFunction(3) = 81 Then
' Add code to continue execution.
End If
I föregående exempel utvärderar operatorn det vänstra uttrycket, 45 < 12. Eftersom det vänstra uttrycket utvärderas till Falsemåste hela det logiska uttrycket utvärderas till False. Programkörning hoppar därmed över körningen av koden i If blocket utan att utvärdera rätt uttryck, testFunction(3). Det här exemplet anropar inte testFunction() eftersom det vänstra uttrycket gör hela uttrycket falskt.
Om det vänstra uttrycket i ett logiskt uttryck som använder OrElse utvärderas till True fortsätter körningen till nästa kodrad utan att utvärdera det högra uttrycket, eftersom det vänstra uttrycket redan har verifierat hela uttrycket.
Jämförelse med icke-Short-Circuiting-operatörer
Båda sidor av den logiska operatorn utvärderas däremot när de logiska operatorerna And och Or används. I följande exempel visas detta.
If 45 < 12 And testFunction(3) = 81 Then
' Add code to continue execution.
End If
Det föregående exemplet anropar testFunction() även om det vänstra uttrycket utvärderas till False.
Parentesiska uttryck
Du kan använda parenteser för att styra ordningen på utvärderingen av booleska uttryck. Uttryck som omges av parenteser utvärderas först. För flera kapslingsnivåer ges prioritet åt de djupast kapslade uttrycken. Inom parenteser sker utvärderingen enligt reglerna för operatorernas prioritetsordning. Mer information finns i Operatorprioret i Visual Basic.