English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
في C#، يجب استخدام نوع البيانات لتحديد المتغيرات. وتسمى هذه المتغيرات النوعية الصريحة.
int i = 100; // متغير صريح
أدخل كلمة var في C# 3.0 لتحديد متغيرات المستوى التكويني دون تحديد نوع البيانات بشكل صريح.
var j = 100; // متغير محلي نوع خفي
سيقوم معالج الترجمة باستنتاج نوع المتغير من التعبير الموجود على يمين عمود = . في المثال السابق، سيتم ترجمة var إلى int.
فيما يلي، يتم استنتاج النوع من التعبير.
int i = 10; var j = i + 1; // يتم ترجمته إلى int
يمكن استخدام var لتحديد أي نوع بيانات مدمج أو نوع بيانات مخصص أو متغير نوع مجهول. في المثال التالي، يتم استنتاج النوع من قبل معالج C# بناءً على القيمة:
static void Main(string[] args) { var ti = 10; Console.WriteLine("نوع i هو {0}", i.GetType()); var str = "Hello World!!"; Console.WriteLine("نوع str هو {0}", str.GetType()); var dbl = 100.50d; Console.WriteLine("نوع dbl هو {0}", dbl.GetType()); var isValid = true; Console.WriteLine("نوع isValid هو {0}", isValid.GetType()); var ano = new { name = "Steve" }; Console.WriteLine("نوع ano هو {0}", ano.GetType()); var arr = new[] { 1, 10, 20, 30 }; Console.WriteLine("نوع arr هو {0}", arr.GetType()); var file = new FileInfo("MyFile"); Console.WriteLine("نوع الملف هو {0}", file.GetType()); {}
يجب تعيين المتغيرات المجهولة عند الإعلان؛ وإلا سيقدم محرر C# خطأ: يجب تعيين المتغيرات المجهولة عند الإعلان.
var ti; //خطأ في التجميع: يجب تعيين المتغيرات المجهولة عند الإعلان ti = 100;
لا يُسمح لإعلان متغيرات var في جملة واحدة.
var ti = 100, j = 200, k = 300; //خطأ: لا يمكن إعلان متغيرات var في جملة واحدة//المحتوى التالي صالح var ti = 100; var tj = 200; var k = 300;
لا يمكن استخدام var كمعامل للوظائف.
void Display(var param) //خطأ في التجميع { Console.Write(param); {}
يمكن استخدام var في دوائر for و foreach.
for(var i = 0 < 10 i++) { Console.WriteLine(i); {}
يمكن استخدام var أيضًا مع استعلامات LINQ.
// مجموعة النصوص IList<string> stringList = new List<string>() { "تعليمات C#", "تعليمات VB.NET", "تعلم C++", "تعليمات MVC", "Java" }; // لغة استعلام LINQ var result = from s in stringList where s.Contains("Tutorials") select s;