Osnovni logični operaterji AndAlso in OrElse VB.NET

Izraz if ustvari napako "deli z ničlo" v VB 6, ker je vrednost 3 enaka nič. (Glej glej Hiter nasvet o delitvi z ničlo za več o tem.) Mogoče je, da so primeri, zaradi katerih je vrednost 3 enaka nič, zelo redki in se zgodijo le, kadar uživate na počitnicah, ki so oddaljene tisoč kilometrov, zato vas lahko v nujnih primerih pokličete, da popravite program način. (Zdravo! Zgodi se!)

Po spremembi And v AndAlso program deluje! Razlog je v tem, da zadnji del spojine If pogoj - (vrednost 2 \ vrednost3) - nikoli ni bil dejansko izveden. Ko uporabljate AndAlso, VB.NET ve, da izraz ne more uspeti, ko ugotovi, da prvi del pogoja - a ni večji od Value1 - je napačen. Torej VB.NET neha ocenjevati izraza prav tam. Podoben primer bi lahko konstruirali z uporabo OrElse.

Ta analiza tudi predlaga, kako lahko dodate nekaj učinkovitosti svoji kodi, če pravilno sestavite sestavljeni logični izraz. Če med uporabo AndAlso postavite izraz, ki je najverjetneje lažen, na najbolj levi položaj, lahko preprečite, da se za oceno skrajnega izraza uporabijo izvedbeni cikli. V enem samem testu ne bi bilo dovolj razlik, da bi bilo vredno sploh razmišljati. Ampak, če je vaš test znotraj neke vrste zanke in je izveden na milijone krat, bi to lahko zelo spremenilo.

instagram viewer

instagram story viewer