سؤال

هل يعرف أحد الفرق الحقيقي بين طريقتي الكتابة في Flex 3؟

var myObject1:MyObject = variable as MyObject;
var myObject2:MyObject = MyObject(variable);

أفضّل استخدام الطريقة الثانية لأنها ستؤدي إلى ظهور خطأ عند فشل تحويل النوع، بينما ستعيد الطريقة الأولى قيمة فارغة.ولكن هل هناك أي اختلافات أخرى؟ربما أي مزايا لاستخدام الطريقة الأولى؟

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

المحلول

وأما النوع الثاني من صب له سلوك مختلف عن المستوى الأعلى ( HTTP: //livedocs.adobe كوم / فليكس / 2 / langref / ) أنواع، على سبيل المثال مجموعة (الكائنات) لا يلقي في طريقة مباشرة تصفون. أنه يخلق صفيف جديد إذا ممكن من الكائنات، حتى لو الكائنات هو صفيف.

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

int(str) 

وأنا أعلم أنه يلقي في "محاولة لتحويل" معنى الكلمة ليس في "أعدكم أنه" معنى.

المرجع: حصلت على بعض تأكيد على هذا من HTTP : //raghuonflex.wordpress.com/2007/07/27/casting-vs-the-as-operator/

نصائح أخرى

  • ال as إرجاع الأسلوب null إذا فشل الإلقاء.
  • ال () رميات الطريقة والخطأ في حالة فشل طاقم الممثلين.

إذا كانت قيمة variable غير متوافق مع MyObject, myObject1 سوف يحتوي null وسوف تتفاجأ ب null خطأ في المؤشر (1009 :لا يمكن الوصول إلى خاصية أو أسلوب مرجع كائن فارغ.) في مكان ما لاحقًا في البرنامج عندما تحاول الوصول إليه.حيث كما لو كنت تقوم بالصب باستخدام MyObject(variable) بناء الجملة، سوف تحصل على خطأ في نوع الإكراه (1034 :فشل نوع الإكراه:لا يمكن التحويل _ إلى _) على نفس السطر نفسه - وهو أمر أكثر فائدة من الحصول على 1009 في مكان ما لاحقًا والتساؤل عن الخطأ الذي حدث.

وأعتقد أنني قرأت في مكان ما على هذا الموقع الذي هو as سلايتي أسرع من ()، ولكن لا أستطيع أن أجد السؤال مرة أخرى.

والى جانب ذلك تم طلب هذا السؤال مرات عديدة، وسوف تجد إجابة أخرى متعمقة <لأ href = "https://stackoverflow.com/questions/996478/actionscript-is-there-ever-a-good -reason-الاستخدام كما هو والصب / 997055 # 997055 "> هنا .

وأنا اكتشفت مؤخرا العلامة [] مفيدة جدا عند البحث على ستاكوفيرفلوو، لأنها تتيح فقط البحث في الأسئلة ذات الكلمات الدلالية مع علامة معينة (ق). لذلك يمكن أن تفعل في البحث مثل [أكشن 3] كما يلقي مقابل . وهناك المزيد من نصائح البحث هنا: https://stackoverflow.com/search

ولا. المفارقة في أنني لا يمكن العثور على سؤال حول أداء والكتابة حول كيفية البحث لا تضيع بي.)

وأعتقد كما يعود مرة أخرى الفئة الأساسية وغير فارغة عندما فشل الصب و() رميات خطأ.

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