
x32x01
أدارة أكتب كود
- بواسطة x32x01 ||
في #C، فيه 3 كلمات مفتاحية ساعات بتسبب لخبطة للناس، وكتير مش عارفين الفرق الحقيقي بينهم، وهم:
الـ var
الـ dynamic
الـ object
خلينا نبسط الموضوع بمثال بسيط لكل واحدة فيهم!
ال var بتحدد نوع المتغير وقت الـ compilation، يعني الـ compiler بيعرف النوع وقت ما بتكتب الكود، ومش بيقبل أي تغيير في النوع بعد كده.
ممتاز لو عاوز الكود يكون مختصر، بس لازم تكون متأكد إن النوع ثابت ومش هيتغير.
شوف صورة "var"
ال dynamic مش بيتم التحقق منه وقت الـ compilation، إنما وقت الـ runtime، فممكن تغير النوع زي ما تحب!
بس خلي بالك، لو استخدمت dynamic غلط، ممكن تقع في Runtime Errors وانت مش واخد بالك!
شوف صورة "dynamic"
ال object هو الأب الروحي لكل الأنواع في C#، لكن علشان تستخدمه، لازم تعمل casting لما ترجع النوع الأصلي.
مفيد لو بتشتغل مع بيانات مش معروفة، بس الكاستنج ممكن يسبب مشاكل لو النوع مش متوافق.
شوف صورة "object"
طب استخدم إيه؟
ال var → لما تكون عارف النوع ومش هيتغير.
ال dynamic → لو عاوز مرونة بس خلي بالك من الأخطاء وقت التشغيل.
ال object → لو بتتعامل مع حاجات عامة، بس هتحتاج Casting دايمًا.



خلينا نبسط الموضوع بمثال بسيط لكل واحدة فيهم!
الـ var - الذكاء الفوري
ال var بتحدد نوع المتغير وقت الـ compilation، يعني الـ compiler بيعرف النوع وقت ما بتكتب الكود، ومش بيقبل أي تغيير في النوع بعد كده.

الـ dynamic - الحرية المطلقة
ال dynamic مش بيتم التحقق منه وقت الـ compilation، إنما وقت الـ runtime، فممكن تغير النوع زي ما تحب!

الـ object - الأصل العتيق 🏛
ال object هو الأب الروحي لكل الأنواع في C#، لكن علشان تستخدمه، لازم تعمل casting لما ترجع النوع الأصلي.

طب استخدم إيه؟



