صفائف المعلمة.

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

التصريح بـ ParamArray

استخدم الكلمة الأساسية ParamArray (Visual Basic) للإشارة إلى صفيف معلمة في قائمة المعلمة. تطبّق القواعد التالية:

  • يمكن لإجراء تعريف صفيف معلمة واحد فقط, و يجب أن يكون أخر معلمة في تعريف الإجراء.

  • يجب تمرير صفيف المعلمة حسب القيمة. يكون تدريب برمجي عملي جيد لتضمين بوضوح الكلمة الأساسية Visual Basic) ByVal) في تعريف الإجراء.

  • صفيف المعلمة اختياري تلقائياً. الـقيمته الافتراضية له عبارة عن صفيف فارغ أحادي الأبعاد من نوع عنصر لصفيف المعلمة.

  • كل المعلمات التي تسبق صفيف المعلمة يجب أن يكون مطلوب. يجب أن يكون صفيف المعلمات هو المعلمة الاختيارية فقط.

لمزيد من المعلومات، راجع كيفية القيام بما يلي: تعريف إجراء مع عدد محدد من المعلمات.

استدعاء ParamArray

عند استدعاء إجراء الذي يحدد صفيف معلمة, يمكنك توفير الوسيطة في أي من الطرق التالية:

  • لا يوجد شئ — أي، يمكنك حذف وسيطة ParamArray (Visual Basic). في هذه الحالة، يتم تمرير صفيف فارغ للإجراء. يمكنك أيضاً تمرير الكلمة الأساسية لا شيء (Visual Basic) مع نفس التأثير.

  • قائمة عدد عشوائي من الوسيطات, المفصولة بفاصلات. نوع البيانات لكل وسيطة يجب أن يكون ضمنيا قابل للتحويل إلى نوع العنصر ParamArray.

  • صفيف مع نفس نوع العنصر مثل نوع عنصر لصفيف المعلمة.

في كل الحالات, تعامل التعليمات البرمجية ضمن الإجراء صفيف المعلمة كأنه صفيف أحادي الأبعاد مع عناصر من نفس نوع بيانات كـنوع البيانات ParamArray.

لمزيد من المعلومات، راجع كيفية القيام بما يلي: استدعاء الإجراء الذي يأخذ عدد لا نهائي من المعلمات.

ملاحظة الأمانملاحظة الأمان

عند التعامل مع صفيف والذي يمكن أن يكون بشكل غير محدود كبيرا، هناك خطورة من زيادة التشغيل بعض السعة الداخلية في التطبيق الخاص بك. في حالة قبولك صفيف معلمة, يجب اختبار لحجم الصفيف الذي تم تمريره بواسطة تعليمات برمجية المستدعية له. اتخذ الخطوات المناسبة إذا كان كبيراً جداً بالنسبة للتطبيق الخاص بك. لمزيد من المعلومات، راجع الصفائف في Visual Basic.

المثال

الوصف

يحدد المثال التالي و يستدعي دالة calcSum. معدّل الـ ParamArray للمعلمات args يمكّن الدالة من قبول عدد متغير من الوسائط..

الرمز

Module Module1

    Sub Main()
        ' In the following function call, calcSum's local variables 
        ' are assigned the following values: args(0) = 4, args(1) = 3, 
        ' and so on. The displayed sum is 10.
        Dim returnedValue As Double = calcSum(4, 3, 2, 1)
        Console.WriteLine("Sum: " & returnedValue)
        ' Parameter args accepts zero or more arguments. The sum 
        ' displayed by the following statements is 0.
        returnedValue = calcSum()
        Console.WriteLine("Sum: " & returnedValue)
    End Sub

    Public Function calcSum(ByVal ParamArray args() As Double) As Double
        calcSum = 0
        If args.Length <= 0 Then Exit Function
        For i As Integer = 0 To UBound(args, 1)
            calcSum += args(i)
        Next i
    End Function

End Module

راجع أيضًا:

المرجع

(Visual Basic) اختيارية

UBound

المبادئ

الـإجراءات في Visual Basic

معلمات إجراء و وسيطات

تمرير الوسائط بواسطة القيمة و بواسطة المرجع

تمرير الوسائط حسب الموضع و حسب الاسم

المعلمات الإختيارية

زيادة تحميل الإجراء

تدقيق النوع في Visual Basic

الصفائف في Visual Basic