كيفية القيام بما يلي: استخدام الكتابة الضمنية للمتغير المحلي و الصفائف في تعبير الاستعلام ( برمجة الدليل C# )

يجب عليك استخدام المتغيرات المحلية المكتوبة ضمنياً لتخزين الأنواع المجهولة. يمكنك أيضا استخدامها في أي حالة أخرى ترغب بترجمتها لتحديد نوع المتغير المحلي (بمعنى آخر تعريف متغير في نطاق الأسلوب). تبين الأمثلة التالية كيفية استخدام كتابة المتغيرات ضمنيا في كلا السيناريوهات.

المتغيرات المحلية المكتوبة ضمنياً التي تم تعريفها باستخدام الكلمة الأساسية varحسب السياق. للمزيد من المعلومات، راجع المتغيرات المحلية ذات النوع المُختار ضمنياً (دليل البرمجة لـ #C) والصفائف ذات النوع الضمني (دليل البرمجة لـ #C).

مثال

يظهر المثال التالي كيفية استخدام الكلمة الأساسية var في السيناريو الشائع حيث تتطلب: عندما يتم إنشاء وتنفيذ تعبير استعلام التي تنتج سلسلة أنواع مجهولة. لاحظ أنه في هذا السيناريو، ليس فقط متغير الاستعلام، بل أيضا متغير التكرارforeach يجب أن تكون العبارة مكتوبة ضمنيا باستخدام var.

private static void QueryNames(char firstLetter)
{
    // Create the query. var is required because
    // the query produces a sequence of anonymous types.
    var studentQuery =
        from student in students
        where student.FirstName[0] == firstLetter
        select new { student.FirstName, student.LastName };

    // Execute the query.
    foreach (var student in studentQuery)
    {
        Console.WriteLine("First = {0}, Last = {1}", student.FirstName, student.LastName);
    }
}

المثال اللاحق في هذا الموضوع يبين كيفية استخدام الكلمة الأساسية var كملاءمه نحوية حتى لو لم تكن مطلوبة. لتوضيح هذا البناء، ضمناً هو كتابة متغير الاستعلام فقط. متغير تكرار في الكشف foreach بكتابته بصراحة ولكن يمكن أيضا تعريفه باستخدام var. تذكرvar لا يعد نوعاً بنفسه. ولكن بدلاً من ذلك تعليمة للمترجم للاستنتاج وتعيين النوع.

var queryID =
    from student in students
    where student.ID > 111
    select student.LastName;

foreach (string str in queryID)
{
    Console.WriteLine(str);
}

راجع أيضًا:

المرجع

أساليب التوسيع (ارشادات برمجة C#)

var (C# مرجع)

المبادئ

دليل البرمجة لـ #C

LINQ استعلام التعبيرات (C# البرمجة الدليل)

موارد أخرى

مكون Language-Integrated Query (LINQ)