واحد. فار السحر
تمت إضافة تعريف المتغير var في الإصدار C# 3.0. هذا الإعلان مشابه لـ var الخاص بجافا سكريبت، لكنه مختلف أيضًا.
1. نفس النقطة، يمكن استخدام var للإعلان عن أي نوع من المتغيرات المحلية.
2. الفرق هو أنه مسؤول فقط عن إخبار المترجم بأن المتغير يحتاج إلى استنتاج نوع المتغير بناءً على تعبير التهيئة، ويمكن أن يكون متغيرًا محليًا فقط.
اثنين. التشابه
يمكن الإعلان عنها
فار عدد صحيح = 10؛
اسم فار = "edisundong";
أرقام فار = جديد int[] { 1, 2, 3 };
ثلاثة. الاختلافات
var هي مجرد كلمة رئيسية، وهي ليست نوعًا جديدًا في C# 3.0، وهي مسؤولة عن إخبار المترجم بأن المتغير يحتاج إلى استنتاج نوع المتغير بناءً على تعبير التهيئة
عدد صحيح = 10؛
اسم السلسلة = "edisundong"؛
int[] أرقام = جديد int[] { 1, 2, 3 };
ثلاثة. ملحوظة
1. يجب تعيين قيمة عند الإقرار، لأن الإقرار يعتمد على التعبير الموجود على الجانب الأيمن من رقم التخصيص إذا كان هناك العبارة التالية:
فار عدد صحيح؛
عدد صحيح = 10؛
سيتم الإبلاغ عن خطأ يجب تهيئة السكان المحليين المكتوب ضمنيًا أثناء التجميع.
2. بعد استخدام var للإعلان عن متغير محلي، يظل من النوع القوي ويمكن اختباره على النحو التالي:
فار عدد صحيح = 10؛
عدد صحيح = "edisundong";
سيتم الإبلاغ عن خطأ لا يمكن تحويل النوع "سلسلة" إلى "int" ضمنيًا أثناء الترجمة.
3. لا يمكن أن يكون نوع وقت الترجمة لتعبير المُهيئ هو النوع الفارغ (خالي) ولا يمكن للمترجم استنتاج نوع المتغيرات المحلية بناءً على القيمة الخالية، مثل العبارة التالية:
فار عدد صحيح = فارغ؛
لا يمكن تعيين '
4. يجب أن يكون بيان التهيئة تعبيرًا لا يمكن أن يحتوي على نفسه، ولكن يمكن أن يكون تعبيرًا جديدًا (أي نوع مجهول) يحتوي على كائن أو مُهيئ مجموعة.
على سبيل المثال، يمكنك التصريح بذلك على النحو التالي:
var Coll = new Hashtable();
5. يقتصر إعلان var على المتغيرات المحلية ويمكن أيضًا تضمينه في عبارات foreach وfor وusing. الاستخدام التالي غير صحيح:
برنامج الصف
{
Private var i = 10; // المتغيرات الخاصة العالمية.
الفراغ الثابت الرئيسي (سلسلة [] الحجج)
{ }
}
قد تظهر الكلمة الأساسية السياقية "var" فقط ضمن خطأ تعريف المتغير المحلي الذي سيتم الإبلاغ عنه أثناء التجميع.
هذه المقالة مأخوذة من مدونة CSDN، يرجى الإشارة إلى المصدر عند إعادة الطباعة: http://blog.csdn.net/superyoungchaos/archive/2009/12/23/5060696.aspx.