عامل OrElse

ينفذ دائرة قصيرة ضمن انفصال منطقي على تعبيرين.

result = expression1 OrElse expression2

الأجزاء

  • result
    مطلوبة. أي تعبير Boolean.

  • expression1
    مطلوبة. أي تعبير Boolean.

  • expression2
    مطلوبة. أي تعبير Boolean.

ملاحظات

يقال بأنّ العملية المنطقية الدائرة القصيرة في حالة أن التعليمات البرمجية المترجمة يمكن أن تتجاوز التقييم لتعبير واحد استناداً إلى نتيجة تعبير آخر. إذا كانت نتيجة تقييم التعبير الأول تحدد النتيجة النهائية للعملية، فليس هناك حاجة لتقييم التعبير الثاني, لأنه لا يمكن أن يغير النتيجة النهائية. الدائرة القصيرة يمكنها تحسين الأداء إذا كان التعبير المتجاوز معقد, أو إذا كان يتضمن استدعاءات اجراء.

إذا تم تقييم التعبيرات إما أو كلاهما إلى True, result هو True. يوضح الجدول التالي كيف يتم تحديد result .

إذا كان expression1 هو

و expression2 هو

قيمة ال result هي

True

(لا يتم تقييمه)

True

False

True

True

False

False

False

أنواع البيانات

عامل OrElse يتم تعريفه فقط لـ نوع بيانات القيمة المنطقية في (Visual Basic). يـحوّل Visual Basic كل معامل عند الضرورة إلى Boolean و ينفذ العملية بالكامل في Boolean. إذا قمت بتعيين النتيجة إلى النوع العددي, Visual Basic يقوم بتحويلها من Boolean إلى ذلك النوع. قد ينتج عن ذلك سلوك غير متوقع. على سبيل المثال، نتائج 5 OrElse 12 في –1 عند تحويلها إلىInteger.

التحميل الزائد

معامل ال عامل التشغيل or في (Visual Basic) و عامل التشغيل IsTrue يمكن أن يكون محمل بشكل زائد ، مما يعني أنه يمكن لفئة أو بنية إعادة تعريف سلوكها عندما يحتوي المعامل على نوع هذه الفئة أو البنية. التحميل الزائد لعامل التشغيل Or و IsTrue يؤثر على سلوك عامل التشغيل OrElse . إذا كانت التعليمات البرمجية الخاصة بك تستخدم OrElse في الفئة أو بنية التي تحميل بشكل زائد Or و IsTrue ، تأكد من فهم سلوكها المعاد تعريفة . لمزيد من المعلومات، راجع إجراءات عامل التشغيل.

مثال

يستخدم المثال التالي عامل OrElseلتنفيذ الفصل منطقي على تعبيرين. تكون النتيجة قيمة Boolean التي تمثل ما إذا كان كلا من التعبيرين صحيح . إذا كان التعبير الأول هو True، لا يتم تقييم الثاني.

Dim a As Integer = 10
Dim b As Integer = 8
Dim c As Integer = 6
Dim firstCheck, secondCheck, thirdCheck As Boolean
firstCheck = a > b OrElse b > c
secondCheck = b > a OrElse b > c
thirdCheck = b > a OrElse c > b

المثال التالي يعطي نتائج من True, True و False على التوالي. في العملية الحسابية لـ firstCheck،لا يتم تقييم التعبير الثاني لأن الأول مسبقاً True. على الرغم من ذلك، يتم تقييم التعبير الثاني في العملية الحسابية لـ secondCheck.

يظهر المثال التالي العبارة If... Then التي تحتوي على استدعاءات الإجراءات اثنين. إذا كان أول استدعاء يقوم بإرجاع True، إجراء الثاني لا يتم استدعاؤه. قد يؤدي هذا في حدوث نتائج غير متوقعة في المهام الهامة التي يجب القيام دائمًا عند تشغيل هذا القسم من تعليمات برمجية بتنفيذ إجراء الثاني.

If testFunction(5) = True OrElse otherFunction(4) = True Then
    ' If testFunction(5) is True, otherFunction(4) is not called.
    ' Insert code to be executed.
End If

راجع أيضًا:

المرجع

عوامل تشغيل المنطقية/الأحادية البت

أسبقية عامل التشغيل في Visual Basic

عوامل تشغيل مسرودة حسب الوظيفة

عامل التشغيل or في (Visual Basic)

عامل التشغيل IsTrue

المبادئ

عوامل تشغيل منطقية و Bitwise في Visual Basic