الفرق بين var وdynamic وobject في C#

x32x01
  • بواسطة x32x01 ||
فيه 3 كلمات مفتاحية في #C ساعات بتعمل لخبطة حتى للناس اللي شغالة في المجال بقالها فترة 😅
وهم: 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 → لما تتعامل مع بيانات عامة أو غير معروفة.

في النهاية 🧩
اختيار الكلمة المفتاحية الصح بيسهّل عليك كتابة كود نظيف وسريع وآمن من الأخطاء.
فاكر دايمًا إن "البساطة في الكود = قوة في التنفيذ" 💪
 
التعديل الأخير:
المواضيع ذات الصلة
x32x01
الردود
0
المشاهدات
832
x32x01
x32x01
x32x01
الردود
0
المشاهدات
607
x32x01
x32x01
x32x01
الردود
0
المشاهدات
599
x32x01
x32x01
x32x01
الردود
0
المشاهدات
838
x32x01
x32x01
x32x01
الردود
0
المشاهدات
813
x32x01
x32x01
x32x01
الردود
0
المشاهدات
584
x32x01
x32x01
x32x01
الردود
0
المشاهدات
211
x32x01
x32x01
x32x01
الردود
0
المشاهدات
630
x32x01
x32x01
x32x01
الردود
0
المشاهدات
63
x32x01
x32x01
x32x01
الردود
0
المشاهدات
664
x32x01
x32x01
الدخول أو التسجيل السريع
نسيت كلمة مرورك؟
إحصائيات المنتدى
المواضيع
1,830
المشاركات
2,027
أعضاء أكتب كود
466
أخر عضو
chaouki
عودة
أعلى