كشف 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)
كشف While...End While (Visual Basic)