Delen via


Efficiënte combinatie van operators (Visual Basic)

Complexe expressies kunnen veel verschillende operators bevatten. In het volgende voorbeeld ziet u dit.

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

Voor het maken van complexe expressies, zoals de expressie in het voorgaande voorbeeld, is een grondig begrip van de regels van de prioriteit van de operator vereist. Zie Operator-prioriteit in Visual Basic voor meer informatie.

Uitdrukkingen tussen haakjes

Vaak wilt u dat bewerkingen in een andere volgorde worden uitgevoerd dan de volgorde die wordt bepaald door de prioriteit van de operator. Bekijk het volgende voorbeeld.

x = z * y + 4

Het voorgaande voorbeeld vermenigvuldigt z met yen voegt vervolgens het resultaat toe aan 4. Maar als u y en 4 wilt optellen voordat u het resultaat vermenigvuldigt met z, kunt u de normale operatorprioriteit overschrijven door haakjes te gebruiken. Door een expressie tussen haakjes te sluiten, dwingt u af dat deze expressie eerst wordt geëvalueerd, ongeacht de prioriteit van de operator. Als u wilt afdwingen dat het voorgaande voorbeeld eerst de toevoeging uitvoert, kunt u het herschrijven zoals in het volgende voorbeeld.

x = z * (y + 4)

In het voorgaande voorbeeld worden y en 4 opgeteld, en vervolgens wordt die som vermenigvuldigd met z.

Geneste bovenliggende expressies

U kunt expressies in meerdere niveaus van haakjes nesten om de volgorde nog verder aan te passen. De expressies die het diepst tussen haakjes zijn genest, worden eerst geëvalueerd, gevolgd door de daaropvolgende niveaus, enzovoort tot de minst diepst geneste en ten slotte de expressies buiten haakjes. In het volgende voorbeeld ziet u dit.

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

In het voorgaande voorbeeld wordt z + 2 eerst geëvalueerd en vervolgens de andere haakjesuitdrukkingen. Exponentiatie, die normaal gesproken een hogere prioriteit heeft dan optellen of vermenigvuldigen, wordt in dit voorbeeld als laatste geëvalueerd omdat de andere expressies tussen haakjes staan.

Zie ook