AndAlso dan OrElse VB.NET Basic Logical Operator

click fraud protection

Ekspresi if menghasilkan kesalahan "bagi dengan nol" di VB 6 karena Value3 adalah nol. (Tapi lihat Tip cepat untuk membagi dengan nol untuk lebih lanjut tentang itu.) Bisa jadi bahwa kasus-kasus yang menghasilkan Value3 menjadi nol sangat jarang dan hanya terjadi ketika Anda sedang menikmati liburan ribuan mil jauhnya sehingga Anda dapat dipanggil kembali untuk memperbaiki program dalam keadaan darurat mode. (Hei! Itu terjadi!)

Setelah mengubah Dan ke AndJuga, program ini bekerja! Alasannya adalah bahwa bagian terakhir dari senyawa If condition— (value 2 \ value3) —tidak pernah benar-benar dieksekusi. Saat Anda menggunakan AndAlso, VB.NET tahu bahwa ekspresi tidak dapat berhasil setelah ditentukan bahwa bagian pertama dari kondisi — a tidak lebih besar dari Value1 — salah. Jadi VB.NET berhenti mengevaluasi ekspresi di sana. Contoh serupa dapat dibangun menggunakan OrElse.

Analisis ini juga menunjukkan bagaimana Anda dapat menambahkan beberapa efisiensi ke kode Anda dengan mengatur ekspresi logis majemuk dengan benar. Jika Anda menempatkan ekspresi yang kemungkinan besar salah di posisi paling kiri saat menggunakan AndAlso, Anda dapat mencegah siklus eksekusi dari yang digunakan untuk mengevaluasi ekspresi paling kanan. Dalam satu tes, itu tidak akan membuat perbedaan yang cukup layak bahkan untuk dipikirkan. Tetapi jika tes Anda ada di dalam semacam lingkaran dan dijalankan zillions kali, itu bisa membuat perbedaan besar.

instagram viewer

instagram story viewer