سؤال

في كل المواقع التي تتحدث عن فبسكريبت، يتم سرد المشغل & "كمشغل سلسلة سلسلة. ومع ذلك، في بعض رمز بأنني ورثت مؤخرا، وأرى أن المشغل + "تستخدم وأنا لا أرى أية أخطاء نتيجة لذلك. هذا هو بديل مقبول؟

هل كانت مفيدة؟

المحلول

وطاقتها و+ المشغل، في حين أن والمشغل ليست كذلك. & عامل التشغيل يفعل سلسلة سلسلة فقط. في بعض الدوائر يستخدم المشغل وباعتباره أفضل الممارسات لأنها لا لبس فيه، وبالتالي لا يمكن أن يكون لها أي آثار غير مقصودة نتيجة لالحمولة الزائدة.

نصائح أخرى

والمشغل & يفعل سلسلة سلسلة، وهذا هو، تجبر المعاملات يمكن تحويلها إلى سلاسل (مثل الدعوة CStr عليها أولا). +، بدورها، يجبر بالإضافة إذا كان أحد التعبيرات غير الرقمية. على سبيل المثال:

1 & 2

ويمنحك 12، في حين

1 + 2
"1" + 2
1 + "2"

وتعطيك 3.

وهكذا، فمن المستحسن استخدام & لسلسلة سلسلة لأنه يزيل الغموض.

ومشغل + قد تأتي بنتائج عكسية عندما يمكن تفسير السلاسل والأرقام. إذا كنت لا تريد مفاجآت سيئة استخدام ولسلسلة السلاسل.

في بعض الحالات فإن + بطرح استثناء. على سبيل المثال ما يلي:

Sub SimpleObject_FloatPropertyChanging(fvalue, cancel)
   'fvalue is a floating point number
   MsgBox "Received Event: " + fvalue
End Sub

وسوف تحصل استثناء عندما يطلق المصدر كائن COM الحدث - يجب عليك القيام بأي مما يلي:

MsgBox "Received Event: " & fvalue

أو

MsgBox "Received Event: " + CStr(fvalue)

وربما يكون الأفضل في كلتا الحالتين لاستخدام CStr(value). ولكن باستخدام وفي التعليقات الواردة أعلاه لسلسلة سلسلة يكاد يكون دائما أفضل الممارسات.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top