Základné logické operátory AndAlso a OrElse VB.NET

Výraz if generuje vo VB 6 chybu delenie nulou, pretože hodnota 3 je nula. (Ale pozri Rýchly tip na delenie nulou pre viac informácií.) Môže sa stať, že prípady, ktoré vedú k nulovej hodnote hodnoty 3, sú veľmi zriedkavé a vyskytujú sa iba vtedy, keď tešíte sa z dovolenky vzdialenej tisíce kilometrov, takže môžete byť zavolaní späť, aby ste program v prípade núdze opravili mode. (Hey! To sa stáva!)

Po zmene na AndAlso program funguje! Dôvod je ten, že posledná časť zlúčeniny If podmienka— (hodnota 2 \ hodnota3) - sa nikdy v skutočnosti nevykoná. Keď používate AndAlso, VB.NET vie, že výraz nemôže uspieť, akonáhle sa zistí, že prvá časť podmienky - a nie je väčšia ako hodnota1 - je nepravdivá. VB.NET teda prestane vyhodnocovať výraz. Podobný príklad by sa dal skonštruovať pomocou OrElse.

Táto analýza tiež navrhuje, ako môžete do programu pridať určitú efektívnosť správnym usporiadaním zloženého logického výrazu. Ak umiestnite výraz, ktorý je s najväčšou pravdepodobnosťou nepravdivý, pri použití AndAlso, môžete zabrániť použitiu vykonávacích cyklov na vyhodnotenie výrazu úplne vpravo. V jedinom teste by to nestačilo na to, aby sa oplatilo premýšľať. Ale ak je váš test vo vnútri slučky nejakého druhu a je vykonaný zillióny času, môže to mať veľký význam.

instagram viewer

instagram story viewer