- بواسطة x32x01 ||
فيه 3 كلمات مفتاحية في #C ساعات بتعمل لخبطة حتى للناس اللي شغالة في المجال بقالها فترة 😅
وهم: var، dynamic، وobject.
تعالى نبسطهم واحدة واحدة بالأمثلة 👇
بمعنى إن النوع بيتحدد تلقائيًا وقت كتابة الكود، ومينفعش يتغير بعد كده.
✅ المميز: بتخلي الكود أنظف وأقصر.
⚠️ العيب: لازم تكون متأكد إن النوع ثابت مش هيتغير.
مثال بسيط:
التحقق من النوع بيتم وقت التشغيل (runtime)، مش أثناء الكومبايل.
يعني ممكن تغير نوع المتغير وقت ما تحب، لكن لازم تكون واخد بالك كويس!
✅ المميز: مرونة رهيبة في التعامل مع البيانات.
⚠️ العيب: الأخطاء مش بتظهر إلا وقت التشغيل، وده خطر شوية.
مثال:
كل حاجة في #C أصلها object، بس علشان تستخدم القيمة لازم تعمل Casting وترجع النوع الأصلي.
✅ المميز: مناسب لو بتتعامل مع أنواع عامة أو غير معروفة.
⚠️ العيب: الكاستنج ممكن يعمل Runtime Error لو النوع مش متوافق.
مثال:
في النهاية 🧩
اختيار الكلمة المفتاحية الصح بيسهّل عليك كتابة كود نظيف وسريع وآمن من الأخطاء.
فاكر دايمًا إن "البساطة في الكود = قوة في التنفيذ" 💪
وهم: var، dynamic، وobject.
تعالى نبسطهم واحدة واحدة بالأمثلة 👇
🧠 var - الذكاء الفوري
الكلمة المفتاحية var بتخلي الـ compiler يحدد نوع المتغير وقت الـ compilation.بمعنى إن النوع بيتحدد تلقائيًا وقت كتابة الكود، ومينفعش يتغير بعد كده.
✅ المميز: بتخلي الكود أنظف وأقصر.
⚠️ العيب: لازم تكون متأكد إن النوع ثابت مش هيتغير.
مثال بسيط:
C#:
var name = "Mostafa"; // string
name = 123; // ❌ خطأ! مش هينفع تغير النوع 🌀 dynamic - الحرية المطلقة
أما dynamic فهي العكس تمامًا 😎التحقق من النوع بيتم وقت التشغيل (runtime)، مش أثناء الكومبايل.
يعني ممكن تغير نوع المتغير وقت ما تحب، لكن لازم تكون واخد بالك كويس!
✅ المميز: مرونة رهيبة في التعامل مع البيانات.
⚠️ العيب: الأخطاء مش بتظهر إلا وقت التشغيل، وده خطر شوية.
مثال:
C#:
dynamic data = "Hello";
data = 123; // ✅ تمام مفيش مشكلة
Console.WriteLine(data); 🏛 object - الأصل العتيق
الـ object هو الأب الروحي لكل الأنواع في C#.كل حاجة في #C أصلها object، بس علشان تستخدم القيمة لازم تعمل Casting وترجع النوع الأصلي.
✅ المميز: مناسب لو بتتعامل مع أنواع عامة أو غير معروفة.
⚠️ العيب: الكاستنج ممكن يعمل Runtime Error لو النوع مش متوافق.
مثال:
C#:
object num = 10;
int x = (int)num; // ✅ لازم تعمل Casting 🧭 إمتى تستخدم كل واحدة؟
- var → لما تكون عارف النوع ومش هيتغير.
- dynamic → لما تحتاج مرونة عالية بس خليك حذر.
- object → لما تتعامل مع بيانات عامة أو غير معروفة.
في النهاية 🧩
اختيار الكلمة المفتاحية الصح بيسهّل عليك كتابة كود نظيف وسريع وآمن من الأخطاء.
فاكر دايمًا إن "البساطة في الكود = قوة في التنفيذ" 💪
التعديل الأخير: