Osnovni logički operatori AndAlso i OrElse VB.NET

Izraz if generira pogrešku "podijeli s nulom" u VB 6 jer je vrijednost 3 jednaka nuli. (Ali vidi Brzi savjet o podjeli na nulu za više o tome.) Moglo bi se dogoditi da su slučajevi koji rezultiraju nulom3 vrlo rijetki i javljaju se samo kada uživate u odmoru udaljenom tisuću milja, tako da vas može hitno pozvati da popravite program način. (Hej! Događa se!)

Nakon promjene Anda u AndAlso, program radi! Razlog je taj što se posljednji dio spoja If uvjet - (vrijednost 2 \ vrijednost3) - nikada nije izvršio. Kad koristite AndAlso, VB.NET zna da izraz ne može uspjeti nakon što utvrdi da je prvi dio uvjeta - a nije veći od Value1 - lažan. Tako VB.NET tamo prestaje ocjenjivati ​​izraz. Sličan se primjer može konstruirati pomoću OrElse-a.

Ova analiza također sugerira kako možete dodati neku efikasnost u svoj kôd ispravnim rasporedom složenih logičkih izraza. Ako prilikom upotrebe AndAlso postavite izraz koji je najvjerojatnije lažan na krajnji lijevi položaj, možete spriječiti da se ciklusi izvođenja koriste za procjenu izrazica s najviše desne strane. U jednom testu to ne bi napravilo dovoljno razlike da bi bilo vrijedno razmišljati. Ali ako se vaš test nalazi u nekoj vrsti petlje i izveden je nekoliko milijardi puta, to bi moglo značiti.

instagram viewer

instagram story viewer