نظرة عامة حول مُهيآت المجموعة (Visual Basic)

مُهيآت المجموعة توفر بناء جملة تم تقصيرها التي تمكّنك من إنشاء مجموعة وملاها بمجموعة أولية من القيم. مُهيآت المجموعة مفيدة عندما تقوم بإنشاء مجموعة من مجموعة من القيم المعروفة, على سبيل المثال، قائمة خيارات القائمة أو الفئات, أو مجموعة أولية من قيم رقمية, أو قائمة ثابتة من السلاسل مثل يوم أو أسماء الشهور أو المواقع الجغرافية مثل قائمة حالات المستخدمة في التحقق من صحة.

تحدد مُهيئ مجموعة باستخدام From الكلمة الأساسية متبوعة بالأقواس ({}). تشبه هذه بناء القيمة الحرفية الصفيف الموضحة في الصفائف في Visual Basic. تبين الأمثلة التالية الطرق المختلفة لاستخدام مُهيآت المجموعة لإنشاء مجموعات.

' Create an array of type String().
Dim winterMonths = {"December", "January", "February"}

' Create an array of type Integer()
Dim numbers = {1, 2, 3, 4, 5}

' Create a list of menu options. (Requires an extension method
' named Add for List(Of MenuOption)
Dim menuOptions = New List(Of MenuOption) From {{1, "Home"},
                                                {2, "Products"},
                                                {3, "News"},
                                                {4, "Contact Us"}}

ملاحظة

#C توفر مُهيآت مجموعة أيضا. توفر مُهيآت مجموعة #C نفس وظيفة مُهيآت مجموعة Visual Basic . لمزيد من المعلومات حول مُهيآت مجموعة #C, راجعكائن و مجموعة المُهيآت (C# البرمجة الدليل).

بناء الجملة

مُهيئ مجموعة يتكون من قائمة قيم مفصولة بفاصلة المحاطة بأقواس ({}) ، مسبوقة From الكلمة الأساسية, كما هو موضح في التعليمات البرمجية التالية.

Dim names As New List(Of String) From {"Christa", "Brian", "Tim"}

عندما تقوم بإنشاء مجموعة مثل List<T> أو Dictionary<TKey, TValue>، يجب توفير نوع المجموعة قبل مُهيئ المجموعة كما هو موضح في التعليمات البرمجية التالية.

Public Class AppMenu
    Public Property Items As List(Of String) =
        New List(Of String) From {"Home", "About", "Contact"}
End Class

ملاحظة

لا يمكن ضم مُهيآت المجموعة مع مُهيآت الكائن.

إنشاء مجموعة باستخدام مُهيئ مجموعة

عند إنشاء مجموعة باستخدام مُهيئ مجموعة, كل قيمة تم توفيرها في مُهيئ مجموعة تم تمريرها إلى الأسلوب Add المناسب للمجموعة. على سبيل المثال، إذا قمت بإنشاء List<T> باستخدام مُهيئ مجموعة, كل قيمة سلسلة في مُهيئ المجموعة يتم تمريره إلى Add الأسلوب. إذا كنت تريد إنشاء مجموعة باستخدام مُهيئ المجموعة, يجب أن يكون النوع المحدد نوع مجموعة صالح. أمثلة لأنواع مجموعة صالحة تتضمن الفئات التي تقوم بتطبيق IEnumerable<T> الواجهة أو ترث CollectionBase الفئة. يجب أيضاً عرض النوع المحدد Add الأسلوب الذي يتوافق مع المعايير التالية.

  • أسلوب Add يجب أن يكون متوفر من النطاق الذي يتم استدعاء مُهيئ المجموعة. أسلوب Add ليس من الضروري أن يكون عامًا إذا كنت تستخدم مُهيئ المجموعة في سيناريو حيث يمكن الوصول إلى أساليب غير عامة للمجموعة.

  • أسلوب Add يجب أن يكون عضو مثيل أو Shared عضو في فئة المجموعة أو أسلوب توسيع.

  • أسلوب Add يجب أن يتواجد الذي يمكن أن يتطابق ، استناداً إلى قواعد حل التحميل الزائد, إلى الأنواع التي تم توفيرها في مُهيئ المجموعة.

على سبيل المثال، مثال التعليمات البرمجية التالي يوضح كيفية إنشاء مجموعة List(Of Customer) باستخدام مُهيئ مجموعة. عند تشغيل التعليمات البرمجية ، كل Customer الكائن يتم تمريره إلى Add(Customer) الأسلوب للقائمة العامة.

Dim customers = New List(Of Customer) From
    {
        New Customer("City Power & Light", "http://www.cpandl.com/"),
        New Customer("Wide World Importers", "http://www.wideworldimporters.com/"),
        New Customer("Lucerne Publishing", "http://www.lucernepublishing.com/")
    }

يوضح مثال التعليمات البرمجية التالي التعليمة البرمجية المكافئة التي لا تستخدم مُهيئ المجموعة.

Dim customers = New List(Of Customer) 
customers.Add(New Customer("City Power & Light", "http://www.cpandl.com/"))
customers.Add(New Customer("Wide World Importers", "http://www.wideworldimporters.com/"))
customers.Add(New Customer("Lucerne Publishing", "http://www.lucernepublishing.com/"))

إذا كانت المجموعة تحتوي على Add الأسلوب الذي يحتوي على معلمات التي تطابق المُنشئ لـ Customer الكائن, قد تداخل قيم معلمة لـ Add الأسلوب داخل مُهيآت المجموعة كما تمت مناقشته في القسم التالي. إذا لم يكن لدى المجموعة مثل Add الأسلوب, يمكنك إنشاء واحد كأسلوب توسيع. للحصول على مثال حول كيفية إنشاء Add الأسلوب كأسلوب توسيع لمجموعة, راجع كيفية القيام بما يلي: إنشاء أسلوب توسيع إضافة المستخدم بواسطة مُهيئ مجموعة. للحصول على مثال عن كيفية إنشاء مجموعة مخصصة والتي يمكن استخدامها مع مُهيئ المجموعة, راجع كيفية القيام بما يلي: إنشاء مجموعة مستخدمة بواسطة مُهيئ مجموعة.

تداخل مُهيآت المجموعة

يمكنك تداخل قيم داخل مُهيئ المجموعة لتعريف تحميل زائد معينة من Add الأسلوب لمجموعة يتم إنشاؤها. القيم التي تم تمريرها إلى Add الأسلوب يجب فصلها بفواصل كما يجب إحاطتها في أقواس({}) ، كما قد تقوم به في قيمة حرفية صفيف أو مُهيئ مجموعة.

عند إنشاء مجموعة باستخدام قيم المتداخلة, يتم تمرير كل عنصر في قائمة القيم المتداخلة كوسيطة إلى Add الأسلوب الذي تطابق أنواع العنصر. على سبيل المثال، ينشئ مثال تعليمات برمجية التالي Dictionary<TKey, TValue> حيث المفاتيح هي من نوع Integer و القيم من نوع String. كل من قوائم القيمة المتداخلة تتطابق مع Add الأسلوب لـ Dictionary.

Dim days = New Dictionary(Of Integer, String) From
    {{0, "Sunday"}, {1, "Monday"}}

يكافئ مثال التعليمات البرمجية السابق إلى التعليمات البرمجية التالية.

Dim days = New Dictionary(Of Integer, String)
days.Add(0, "Sunday")
days.Add(1, "Monday")

يتم إرسال قوائم القيم المتداخلة من المستوى أول من التداخل إلى Add الأسلوب لمجموعة النوع. مستوى أعمق من مستويات التداخل يتم معاملتها كقيم حرفية لصفيف و لا تتطابق قوائم القيم المتداخلة إلى Add الأسلوب لأي مجموعة.

راجع أيضًا:

المهام

كيفية القيام بما يلي: إنشاء أسلوب توسيع إضافة المستخدم بواسطة مُهيئ مجموعة

كيفية القيام بما يلي: إنشاء مجموعة مستخدمة بواسطة مُهيئ مجموعة

كيفية القيام بما يلي: تـهيّئة متغيرات صفيف في Visual Basic

كيفية: إنشاء قائمة عناصر

المرجع

عامل تشغيل Visual Basic) New)

المبادئ

الصفائف في Visual Basic

مهيئات الكائن أنواع مسماة و مجهولة

خصائص التنفيذ التلقائي في (Visual Basic)

استدلال الـنوع المحلي

أنواع مجهولة

مقدمة حول LINQ في Visual Basic