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

يقوم بـتكرار كتل من العبارات أثناء Boolean الشرط كان True أو حتى يصبح الشرط True.

Do { While | Until } condition
    [ statements ]
    [ Exit Do ]
    [ statements ]
Loop
-or-
Do
    [ statements ]
    [ Exit Do ]
    [ statements ]
Loop { While | Until } condition

الأجزاء

  • While
    مطلوب إلا إذا Until يتم استخدامه. قم بـتكرار التكرار الحلقي حتى condition هو False.

  • Until
    مطلوب إلا إذا While يتم استخدامه. قم بـتكرار التكرار الحلقي حتى condition هو True.

  • condition
    اختياري. Booleanالتعبير اذا condition هو Nothing، يعاملها الـ Visual Basic كـ False.

  • statements
    اختياري. عبارات واحدة أو أكثر يتم تكرارها أثناء أو حتى condition هو True.

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

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

ملاحظات

استخدام Do...Loop البناء عندما تريد تكرار مجموعة من العبارات على عدد غير محدد من المرات حتى يتحقق الشرط.ز إذا أردت تكرار مجموعة العبارات عدد من المرات كشف For...Next عادةً خيار أفضل.

Do...Loop البنية يمنحك أكثر مرونة من كشف While...End While (Visual Basic) لأنها تسمح لك باختيار ما إذا كنت تريد إنهاء الحلقة عند condition يتوقف كونة True أو عندما تصبح أولاً True. كما يسمح لك باختبار condition في البداية أو نهاية الحلقة.

القواعد

  • **طبيعة الشرط.**الشرط عادةً نتيجة المقارنة بين قيمتين ولكن يمكن أن يكون أي تعبير يقيّم إلى قيمة نوع بيانات القيمة المنطقية في (Visual Basic) )True أو False). يتضمن هذا قيم أنواع بيانات أخرى مثل الأنواع الرقمية التي تم تحويلها إلى Boolean.

  • اختبار الشرط. يمكنك اختبار condition لمرة واحدة فقط، في بداية أو نهاية التكرار الحلقي. يمكنك استخدام While أو Until لتحديد condition، وليس كلاهما.

  • عدد التكرارات. في حالة اختبار condition في بداية الحلقة (في Do الكشف) ، قد لا تنفذ الحلقة أبداً حتى ولو مرة واحدة. إذا قمت باختبار نهاية الحلقة (في Loop الكشف) ، الحلقة دوماً تنفذ مرة واحدة على الأقل.

  • التكرارات الحلقية المتداخلة. يمكنك إنشاء تكرارات حلقية Do متداخلة بوضع تكرار حلقي داخل تكرار حلقي أخر. يمكنك أيضا مداخلة أنواع مختلفة من بنيات التحكم داخل بعضها البعض. لمزيد من المعلومات، راجع بنيات التحكم المتداخلة.

  • النقل خارج التكرار الحلقي. ينقل عبارة الخروج Vsual Basic) ) التحكم مباشرةً إلى العبارة التي تلي العبارة Loop. قد تحتاج إلى إنهاء تكرار حلقي إذا اكتشفت شرط يجعل من غير الضروري أو من المستحيل متابعة التكرار، مثل قيمة خاطئة أو طلب إنهاء. يمكنك وضع أي عدد من عبارات Exit Do في أي مكان في التكرار الحلقي Do. Exit Doتستخدم غالباً بعد تقييم شرط ما على سبيل المثال في بنية If...Then...Else .

التكرارات الحلقية اللامنتهية

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

في المثال التالي number يتم تعيينه الى قيمة التي تتسبب في عمل التكرار الحلقي أكثر من 2 ^ 31 مرات قبل أن تصبح القيمة كبيرة جداً بالنسبة Integer ويؤدي ذلك الى خطأ وقت التشغيل تجاوز سعة . If الكشف يتحقق هذا الشرط و ينتهي إذا كان موجودًا.

Sub exitDoExample()
    Dim counter As Integer = 0
    Dim number As Integer = 8
    Do Until number = 10
        If number <= 0 Then Exit Do
        number -= 1
        counter += 1
    Loop
    MsgBox("The loop ran " & counter & " times.")
End Sub

ملاحظة

لتوقيف التكرار الحلقي اللا متناهي اضغط زر ESC أو زر CTRL+BREAK .

مثال

يوضح المثال التالي بنيات متداخلة Do... Loop بالإضافة إلى استخدام While و Until، والاختبار في (بدايةDo الكشف) ونهاية ()Loop الكشف) من الحلقة.

Sub DoExample()
    Dim check As Boolean = True
    Dim counter As Integer = 0
    Do
        Do While counter < 20
            counter += 1
            If counter = 10 Then
                check = False
                Exit Do
            End If
        Loop
    Loop Until check = False
End Sub

في المثال السابق، البنية الداخلية Do...Loop تدور في حلقات 10 مرات بتعيين قيمة المؤشر إلى False، ويخرج قبل الأوان باستخدام Exit Do العبارة. يتم إنهاء التكرار الحلقي الخارجي فوراً عند التحقق من القيمة العلامة.

راجع أيضًا:

المهام

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

المرجع

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

نوع بيانات القيمة المنطقية في (Visual Basic)

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

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

المبادئ

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

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