Dela via


Effektiv kombination av operatorer (Visual Basic)

Komplexa uttryck kan innehålla många olika operatorer. I följande exempel visas detta.

x = (45 * (y + z)) ^ (2 / 85) * 5 + z

Att skapa komplexa uttryck som det i föregående exempel kräver en grundlig förståelse av reglerna för operatorprioritet. Mer information finns i Operatorprioret i Visual Basic.

Parentesiska uttryck

Ofta vill du att åtgärderna ska fortsätta i en annan ordning än de som bestäms av operatorprioretens. Betänk följande exempel.

x = z * y + 4

Föregående exempel multipliceras zymed och lägger sedan till resultatet till 4. Men om du vill lägga y till och 4 innan du multiplicerar resultatet med zkan du åsidosätta normal operatorprioritet med parenteser. Genom att omsluta ett uttryck inom parenteser tvingar du uttrycket att utvärderas först, oavsett operatorprioritet. Om du vill tvinga föregående exempel att göra tillägget först kan du skriva om det som i följande exempel.

x = z * (y + 4)

Föregående exempel lägger till y och 4multiplicerar sedan summan zmed .

Kapslade parentesiska uttryck

Du kan kapsla uttryck i flera nivåer av parenteser för att åsidosätta prioriteten ytterligare. De uttryck som är djupt kapslade inom parenteser utvärderas först, följt av nästa djupt kapslade, och så vidare till de minst djupt kapslade och slutligen uttrycken utanför parenteser. I följande exempel visas detta.

x = (z * 4) ^ (y * (z + 2))

I föregående exempel z + 2 utvärderas först och sedan de andra parentesiska uttrycken. Exponentiation, som normalt har högre prioritet än addition eller multiplikation, utvärderas sist i det här exemplet eftersom de andra uttrycken omges av parenteser.

Se även