عوامل تشغيل المقارنة (Visual Basic)

فيما يلي عوامل المقارنة المعرفة في Visual Basic.

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

عامل التشغيل <=

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

عامل التشغيل >=

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

عامل التشغيل <>

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

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

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

هذه العوامل تقارن تعبيرين لتحدد سواء كانا متساويان أو لا، إذا لا، كيفية اختلافهم. Is, IsNot، و Like تمت مناقشتهم بالتفصيل في صفحات "التعليمات" المنفصلة. وتمت مناقشة عوامل تشغيل المقارنة العلائقية بالتفصيل في هذه الصفحة.

result = expression1 comparisonoperator expression2
result = object1 [Is | IsNot] object2
result = string Like pattern

الأجزاء

  • result
    مطلوبة. قيمة Boolean تمثل ناتج المقارنة.

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

  • comparisonoperator
    مطلوبة. أي عامل مقارنة علائقي.

  • object1, object2
    مطلوبة. أي أسماء كائنات مرجع.

  • string
    مطلوبة. أي تعبير String.

  • pattern
    مطلوبة. أي تعبير String أو نطاق من الأحرف.

ملاحظات

يتضمن الجدول التالي قائمة عوامل مقارنة علائقية والشروط التي تحدد ما إذا كان result هو True أو False.

العامل

TrueIf

FalseIf

< (أقل من)

expression1 < expression2

expression1 >= expression2

<= (أقل من أو تساوي)

expression1 <= expression2

expression1 > expression2

> (أكبر من)

expression1 > expression2

expression1 <= expression2

>= (أكبر من أو يساوي)

expression1 >= expression2

expression1 < expression2

=(يساوي)

expression1 = expression2

expression1 <> expression2

<>(لا يساوي)

expression1 <> expression2

expression1 = expression2

ملاحظة

= عامل التشغيل (Visual Basic) يستخدم أيضاً كعامل تعيين.

عامل تشغيل Is، وعامل تشغيل IsNot Like لها وظائف مقارنة معينة تختلف عن العوامل في الجدول السابق.

مقارنة أرقام

عند مقارنة تعبير لنوع Single لأحد من نوع Double، التعبير Single يتحول إلى Double. هذا سلوك معاكس للسلوك في Visual Basic 6.

بشكل مشابهة، عند مقارنة تعبير لنوع Decimal لتعبير من نوع Single أو Double, التعبير Decimal يتحول إلى Single أو Double. من أجل تعبيرات Decimal ، أي قيمة كسر أقل من 1E-28 قد تفقد. قد يؤدي مثل فقدان قيمة الكسر هذا بتساوي قيمتين في عملية المقارنة وهما لا تتساويان. لهذا السبب، يجب اتخاذ الحذر عند استخدام المساواة (=) لمقارنة متغيرات الفواصل العائمة. من الأمن اختبار ما إذا كانت القيمة المطلقة للفرق بين الرقمين أقل من قيمة سماح مقبولة.

فاصلة عائمة غير دقيقة

عند العمل مع أرقام النقطة العائمة ، تذكر أنه ليس لديهم دائماً تمثيل دقيق في ذاكرة. قد يؤدي هذا إلى نتائج غير متوقعة من عمليات معينة، مثل مقارنة القيمة و عامل التشغيل باقي القسمة في (Visual Basic) . لمزيد من المعلومات، راجع استكشاف أخطاء أنواع البيانات.

مقارنة السلاسل

عندما تقوم بمقارنة سلاسل، يتم تقييم تعبيرات السلاسل استناداً إلى ترتيبها الأبجدي والذي يعتمد على إعداد Option Compare.

Option Compare Binaryيضع مقارنات السلسلة استناداً إلى ترتيب فرز مشتق من التمثيلات الثنائية الداخلية للأحرف. يتم تحديد ترتيب فرز بواسطة صفحة الترميز اللغوي. يظهر المثال التالي ترتيب فرز ثنائي نموذجي.

A < B < E < Z < a < b < e < z < À < Ê < Ø < à < ê < ø

Option Compare Text يضع مقارنات بين السلاسل استنادا على تحسس حالة الأحرف، ترتيب فرز نصي محدد بواسطة إعدادات تطبيقك. عند تعيين Option Compare Text و فرز الأحرف الموجودة في المثال السابق تطبق ترتيب فرز نص التالي:

(A=a) < (À= à) < (B=b) < (E=e) < (Ê= ê) < (Ø = ø) < (Z=z)

Dependence محلي

عند تعيين Option Compare Text، يمكن أن تعتمد نتيجة مقارنة السلاسل على إعدادات محلية التي يعمل عليها التطبيق. قد تعتبر نتيجة مقارنة بين حرفين متساوية في إعدادات محلية دون الأخرى. إذا كنت تستخدم مقارنو بين سلاسل لتأخذ قرارات هامة مثل ما إذا كانت ستقبل محاولة تسجيل دخول, يجب أن تتنبه إلى حساسية الإعدادات المحلية. خذ بعين الاعتبار إما تعيين Option Compare Binary أو استدعاء StrComp، والتي تأخذ الإعدادات المحلية في الحسبان.

البرمجة بدون أنواع مع عوامل المقارنة العلائقية

استخدام عوامل تشغيل المقارنة العلائقية مع تعبيرات Object غير مسموح ضمن Option Strict On. عندما يكون Option Strict هو Off، و إما expression1 أو expression2 هو تعبير Object، أنواع وقت التشغيل تحدد كيف تتم مقارنتهم. يعرض الجدول التالي كيف تتم مقارنة في التعبيرات و الناتج من المقارنة ، حسب نوع وقت تشغيل المعاملات.

إذا كانت المعاملات

تصبح نتيجة المقارنة

كلا String

فرز المقارنة استناداً إلى الصفات المميزة لفرز السلسلة.

كلاهما رقمي

الكائنات المحولة إلى Double، مقارنة رقمية.

رقمي واحد و String واحد

String هو محول إلى Double و تتم تنفيذ المقارنة الرقمية. إذا لا يمكن تحويل String إلى Double، يتم طرح InvalidCastException.

أحدهما أو كلاهما أنواع مرجع بدلاً من String

يتم طرح InvalidCastException.

تعامل المقارنات رقمية Nothing كصفر. تعامل المقارنات بين السلاسل Nothing كـ "" (سلسلة فارغ).

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

عوامل تشغيل المقارنة العلائقية (<. <=, >, >=, =, <>) يمكن أن تكون محملة بشكل زائد، مما يعني أن الفئة أو البنية يمكن إعادة تعريف سلوكها عندما يُشير معامل يحتوي على نوع هذه الفئة أو البنية. إذا كانت التعليمات البرمجية الخاصة بك تستخدم أي من عوامل التشغيل هذه على مثل هذه الفئة أو البنية، تأكد من فهم سلوكها المعاد تعريفه. لمزيد من المعلومات، راجع إجراءات عامل التشغيل.

ولاحظ أن = عامل التشغيل (Visual Basic) يمكن أن يكون محمل بشكل زائد فقط إذا كان هو عامل تشغيل مقارنة علائقي وليس عامل تعيين.

مثال

يظهر المثال التالي الاستخدامات المختلفة عوامل تشغيل المقارنة العلائقية، التي تستخدمها لمقارنة التعبيرات. تقوم عوامل تشغيل المقارنة العلائقية بإرجاع نتيجة Boolean التي تمثل ما إذا كان التعبير المنصوص عليه يقيم إلى True. عند تطبيق عوامل تشغيل > و < إلى سلاسل، يتم إجراء المقارنة باستخدام ترتيب فرز أبجدي عادي للسلاسل. يمكن أن يكون هذا الترتيب يعتمد على الإعدادات المحلية الخاصة بك. سواء كان الفرز متحسس لحالة الأحرف أو لا يعتمد على إعداد خيار المقارنة.

Dim testResult As Boolean
testResult = 45 < 35
testResult = 45 = 45
testResult = 4 <> 3
testResult = "5" > "4444"

في المثال السابق المقارنة الأولى ترجع False والمقارنات المتبقية ترجع True.

راجع أيضًا:

المهام

استكشاف أخطاء أنواع البيانات

المرجع

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

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

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

InvalidCastException

المبادئ

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