عبارة Visual Basic) For...Next)

يكرر مجموعة من العبارات عدد معين من المرات.

For counter [ As datatype ] = start To end [ Step step ]
    [ statements ]
    [ Exit For ]
    [ statements ]
Next [ counter ]

الأجزاء

  • counter
    مطلوبة في العبارة For. متغير رقمي. متغير التحكم للتكرار الحلقي.

  • datatype
    مطلوبة إذا لم تكن counter معرفة بالفعل. نوع بيانات counter.

  • start
    مطلوبة. تعبير رقمي. القيمة الأولية لـcounter.

  • end
    مطلوبة. تعبير رقمي. القيمة النهائية لـcounter.

  • step
    اختياري. تعبير رقمي. المقدار الذي يضاف إلى counter كل مرة خلال التكرار الحلقي.

  • statements
    اختياري. عبارة أو أكثر بين For و Next تنفذ عدد معين من المرات.

  • Exit For
    اختياري. تنقل التحكم خارج التكرار الحلقي For.

  • Next
    مطلوبة. تنهي تعريف التكرار الحلقي For.

ملاحظة

الكلمة الأساسية To تستخدم ها لتعيين النطاق للعداد. هي أيضاً تستخدم لتعيين نطاق لقيم في عبارة Visual Basic) Select...Case) و في تعاريف صفيف. لمزيد من المعلومات حول تعاريف صفيف، راجع عبارة Vsual Basic) Dim).

ملاحظات

استخدم بنية For...Next إذا أردت تكرار مجموعة من العبارات مجموعة رقم من المرات.

كشف While...End While (Visual Basic) أو كشف Do...التكرار الحلقي (Visual Basic) تعمل جيداً إذا كنت لا تعرف مسبقاً عدد المرات التي تحتاج أن تنفذ العبارات في التكرار الحلقي. مع ذلك، عندما تتوقع عدد معين من المرات لتنفيذ التكرار الحلقي، التكرار الحلقي For...Next هو خيار أفضل. أنت تحدد عدد التكرارات عندما تدخل التكرار الحلقي للمرة الأولى.

قيمة step يمكن أن تكون إما موجبة أو سالبة. هي تحدد معالجة التكرار الحلقي كالتالي:

قيمة الخطوة

ينفذ التكرار الحلقي إذا

موجب أو صفر

counter <= end

سالب

counter >= end

إذا لم يتم تعيينه، step بشكل افتراضي 1.

القواعد

  • أنواع البيانات. نوع بيانات counter هو عادة Integer لكن يمكن أن يكون أي نوع يدعم العوامل أكبر من أو يساوي (>=), أقل من أو يساوي (<=),الجمع +), و الطرح (-). ويمكن حتى أن يكون نوع معرف من قبل المستخدم شريطة أن يدعم كل هذه العوامل.

    العبارات start, end، و step عادةً يتم تقييمها إلى نوع Integer ولكن يمكن تقييمها إلى أي نوع بيانات يتوسع لنوع counter. إذا كنت تستخدم نوع معرف من قبل المستخدم لـcounter، مما يعني أنه قد يتوجب عليك تعريف عامل التحويل CType لتحويل الأنواع start, end، أو step إلى نوع counter.

  • التعريف إذا لم يتم تعريف counter خارج هذا التكرار الحلقي، يجب تعريفه داخل العبارة For. في هذه الحالة، نطاق counter هو النص الأساسي للتكرار الحلقي. ومع ذلك، يتعذر تعريف counter خارج و داخل التكرار الحلقي بنفس الوقت.

  • عدد التكرارات. يقيم Visual Basic قيم التكرار start, end, و step لمرة واحدة فقط، قبل بدء التكرار الحلقي. إذا تم تغيير مقطع العبارة end أو step، لا تؤثر هذه التغييرات على التكرار من التكرار الحلقي.

  • التكرارات الحلقية المتداخلة. يمكنك إنشاء تكرارات حلقية For متداخلة بوضع تكرار حلقي داخل تكرار حلقي أخر. مع ذلك، يجب أن يكون لدى كل تكرار حلقي متغير counter فريد. البناء التالي صالح.

    For i As Integer = 1 To 10
        For j As Integer = 1 To 10
            For k As Integer = 1 To 10
                ' Insert statements to operate with current values of i, j, and k.
            Next k
        Next j
    Next i
    

    يمكنك أيضا مداخلة أنواع مختلفة من بنيات التحكم داخل بعضها البعض. لمزيد من المعلومات، راجع بنيات التحكم المتداخلة.

    ملاحظة

    إذا تمت مواجهة عبارة Next لمستوى تداخل خارجي قبل Next لمستوى داخلي، يشير المحول البرمجي لخطأ. ومع ذلك، برنامج التحويل البرمجي يمكنه اكتشاف خطأ التداخل هذا فقط إذا حددت counter في كل عبارة Next.

  • تعريف متغير التحكم. يمكنك بشكل اختياري تحديد counter في العبارة Next. يؤدي ذلك إلى تحسين القدرة على قراءة البرنامج الخاص بك، خاصةً إذا تم عمل تكرارات حلقية For متداخلة. يجب تحديد المتغير نفسه كالذي يظهر في العبارة For المتناظرة.

  • النقل خارج التكرار الحلقي. ينقل عبارة الخروج Vsual Basic) ) التحكم مباشرةً إلى العبارة التي تلي العبارة Next. قد تحتاج إلى إنهاء تكرار حلقي إذا اكتشفت شرط يجعل من غير الضروري أو من المستحيل متابعة التكرار، مثل قيمة خاطئة أو طلب إنهاء. أيضاً، إذا اكتشف استثناء في Try... Catch... Finally، يمكنك استخدام Exit For في النهاية المقطع Finally.

    يمكنك وضع أي عدد من عبارات Exit For في أي مكان في التكرار الحلقي For. تستخدم غالباً Exit For بعد تقييم شرط ما على سبيل المثال في بنية If... Then... Else.

  • **التكرارات الحلقية اللامنتهية.**استخدام واحد لـExit For يقوم على اختبار شرط قد يتسبب بتكرار حلقي لا منتهي ، وهو عبارة عن تكرار حلقي يعمل لعدد كبير جداً أو حتى لعدد لا نهائي من المرات. إذا اكتشفت شرط كهذا، يمكنك استخدام Exit For للهروب من التكرار الحلقي. لمزيد من المعلومات، راجع كشف Do...التكرار الحلقي (Visual Basic).

السلوك

  • إدخال في التكرار الحلقي. عند تنفيذ For... Next يبدأ تكرار حلقي, يقيم Visual Basic start, end، و step لمرة فقط. ثم يقوم بتعيين start إلى counter. قبل تشغيل مقطع العبارة، يقوم بمقارنة counter مع end. إذا تجاوز counter القيمة النهاية، ينتهي التكرار الحلقي For و يمرر عنصر تحكم إلى العبارة التي تلي العبارة Next. و إلا ينفذ مقطع العبارة.

  • **تكرارات من التكرار الحلقي.**كل مرة يواجه Visual Basic العبارة Next يقوم بزيادة counter بـstep و يرجع إلى العبارة For. مرة أخرى يقوم بمقارنة counter مع end، و مرة أخرى إما أن ينفذ المقطع أو ينهي التكرار الحلقي معتمداً على النتيجة. وتستمر هذه العملية حتى يقوم counter بتجاوز end أو تتم مواجهة العبارة Exit For.

  • **إنهاء التكرار الحلقي.**لا ينتهي التكرار الحلقي حتى يقوم counter بتجاوز end. إذا كان counter مساو لـ end، التكرار الحلقي يستمر. المقارنة التي تحدد ما إذا كان يجب تنفيذ المقطع هي counter<= end إذا كان step موجب و counter>= end إذا كان step سالب.

  • تغيير قيم التكرار. تغيير قيمة counter وهي لاتزال داخل التكرار الحلقي يمكن أن يجعل قراءة وتصحيح التعليمات البرمجية الخاصة بك أكثر صعوبة. تغيير قيمة start, end، أو step لا تؤثر على قيم التكرار التي تم تحديدها في أول مرة تم الدخول إلى التكرار الحلقي.

مثال

يوضح المثال التالي بنيات For... Next متداخلة بقيم خطوة مختلفة.

Dim words, digit As Integer
Dim thisString As String = ""
For words = 10 To 1 Step -1
    For digit = 0 To 9
        thisString &= CStr(digit)
    Next digit
    thisString &= " "
Next words

ينشئ المثال السابق سلسلة تتضمن 10 مثيلات للأرقام من 0 إلى 9, يتم فصل كل سلسلة عن الأخرى بمسافة واحدة. يقوم التكرار الحلقي الخارجي بإنقاص متغير العداد للتكرار الحلقي كل مرة خلال التكرار الحلقي.

راجع أيضًا:

المهام

كيفية القيام بما يلي: تحسين أداء التكرار الحلقي

المرجع

كشف While...End While (Visual Basic)

كشف Do...التكرار الحلقي (Visual Basic)

عبارة الخروج Vsual Basic) )

عبارة Visual Basic) For Each...Next)

المبادئ

بنيات التكرار الحلقي

بنيات التحكم المتداخلة