ומפעילים לוגיים בסיסיים של AndAlso ו- OrElse VB.NET

הביטוי אם מייצר שגיאה "חלק על ידי אפס" ב- VB 6 מכיוון שערך 3 הוא אפס. (אבל ראו את טיפ מהיר על חלוקה באפס למידע נוסף בנושא זה.) יכול להיות שהמקרים שגורמים לכך ש- Value3 יהיו אפס הם נדירים מאוד ומתרחשים רק כאשר אתה נהנה מחופשה באלף מיילים משם, כך שתוכל להתקשר אליך כדי לתקן את התוכנית במצב חירום מצב. (היי! זה קורה!)

לאחר שינוי ל- AndAlso, התוכנית עובדת! הסיבה היא שהחלק האחרון של המתחם אם תנאי - (ערך 2 \ ערך 3) - מעולם לא הוצא להורג בפועל. כשאתה משתמש ב- AndAlso, VB.NET יודע שהביטוי לא יכול להצליח ברגע שנקבע כי החלק הראשון של התנאי - a אינו גדול מ- Value1 - הוא כוזב. אז VB.NET מפסיקה להעריך את הביטוי ממש שם. ניתן לבנות דוגמה דומה באמצעות OrElse.

ניתוח זה גם מציע כיצד תוכלו להוסיף יעילות מסוימת לקוד שלכם על ידי סידור נכון של ביטוי לוגי מורכב. אם אתה מציב את הביטוי הסביר ביותר להיות שקרי במצב השמאלי ביותר בעת השימוש ב- AndAlso, אתה יכול למנוע שימוש במחזורי ביצוע להערכת הביטוי השמאלי ביותר. במבחן בודד, זה לא היה משנה מספיק כדי להיות שווה אפילו לחשוב עליו. אבל אם המבחן שלך נמצא בתוך לולאה מסוג כלשהו ומיושם בזליוני פעמים, זה יכול לעשות את ההבדל הגדול.

instagram viewer