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.

Haakjes-expressies

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 het resultaat wilt optellen y en 4 voordat u het resultaat zvermenigvuldigt, kunt u de prioriteit van de normale operator 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 wordt die som opgeteld y en 4vervolgens vermenigvuldigd met z.

Geneste bovenliggende expressies

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

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

In het voorgaande voorbeeld z + 2 wordt eerst geëvalueerd en vervolgens de andere haakjes expressies. 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