تخطَّ إلى المحتوى

var

الاستنتاج التلقائي للنوع (var) var

var تجعل المترجم يستنتج نوع المتغيّر المحلّي من قيمته الابتدائية بدل كتابة النوع صراحة.

var كلمة مفتاحية تُستخدم فقط للمتغيّرات المحلّية داخل الدوال. النوع الحقيقي يُحدَّد وقت الترجمة من طرف اليمين — ثابت طوال حياة المتغيّر، وليس نوعًا ديناميكيًا يتغيّر لاحقًا كما في لغات أخرى.

القيد الوحيد: يجب تهيئة المتغيّر في نفس سطر التصريح، لأن المترجم يحتاج قيمة ليستنتج منها النوع. `var x;` بلا تهيئة خطأ ترجمة.

الصياغة

var name = expression;

📄 مثال

var age = 25;              // int
var price = 19.99;         // double
var name = "سارة";         // string
var numbers = new List<int> { 1, 2, 3 };  // List<int>

// var x;   // خطأ: يجب التهيئة في نفس السطر

أهم النقاط

العنصرالوظيفة
var x = ...استنتاج نوع بسيط من القيمة الابتدائية
متغيّرات محلّية فقطلا يُستخدم var لحقول الصنف أو أنواع الإرجاع
النوع ثابتبعد الاستنتاج لا يمكن تغيير نوع المتغيّر لاحقًا

💡 نصائح عملية

  • استخدمها مع الأنواع الطويلة مثل Dictionary<string, List<int>> لتقليل التكرار
  • لو النوع غير واضح من اسم المتغيّر أو القيمة، اكتب النوع صراحة لوضوح القراءة

⚠️ أخطاء شائعة

  • محاولة تصريح var بلا قيمة ابتدائية — خطأ ترجمة CS0818
  • الظن أن var نوع ديناميكي يقبل أي قيمة لاحقًا مثل dynamic أو JavaScript

خصائص ذات صلة

🎓 تريد فهم الصورة الكاملة خطوة بخطوة؟ ابدأ من مسار CSHARP الكامل بالعربي.