عبارة VB.Net For Each…Next, Exit, Continue

⚡ ملخص ذكي

VB.Net For Each is looping عبارة تُكرر كتلة من التعليمات البرمجية مرة واحدة لكل عنصر في مصفوفة أو مجموعة، مما يسمح لك بقراءة كل عنصر بدوره دون tracإنشاء فهرس.

  • 🔁 الغرض: كرر العبارات مرة واحدة لكل عنصر في مجموعة أو مصفوفة.
  • 🧩 بناء الجملة: تبدأ الحلقة من For Each … In إلى عبارة Next المطابقة.
  • 📚 مجموعات: تقوم حلقة For Each بتكرار أي نوع من أنواع IEnumerable، مثل المصفوفات والقوائم والقواميس.
  • 🪆 التعشيش: يربط نظام "واحد لكل عنصر" داخل نظام آخر كل عنصر خارجي بكل عنصر داخلي.
  • ⛔ التحكم في التدفق: الخروج من الحلقة: يخرج من الحلقة؛ الاستمرار من الحلقة: ينتقل إلى العنصر التالي.
  • 🤖 مساعدة الذكاء الاصطناعي: GitHub Copilot و IntelliCode في Visual Studio 2026، أكمل حلقات For Each أثناء الكتابة.

VB.Net لكل حلقة

VB.Net لكل حلقة

VB.Net For Each is looping يُستخدم هذا الأمر عندما تحتاج إلى تكرار مجموعة من الأوامر لكل عنصر في مجموعة. يمكنك استخدامه لمعالجة جميع العناصر الموجودة في مجموعة أو مصفوفة.

بناء جملة VB.Net لكل… البيان التالي

استخدم VB.Net تأخذ عبارة For Each الصيغة الموضحة أدناه:

For Each item [ As data_type ] In group  
    [ statement(s) ]  
    [ Continue For ]  
    [ statement(s) ]  
    [ Exit For ]  
    [ statement(s) ]  
Next [ item ]

هنا،

  • استخدم item المتغير الذي سيُستخدم للتكرار على جميع عناصر المجموعة. وهو مطلوب في عبارة For Each ولكنه اختياري في عبارة Next.
  • استخدم data_type هي نوع البيانات من العنصر. مطلوب إذا لم يتم الإعلان عن هذا البند.
  • استخدم group هي المجموعة التي سيتم تكرار البيانات عليها. هو مطلوب.
  • استخدم statement(s) هو اختياري. يشير إلى عبارة واحدة أو أكثر سيتم تنفيذها لكل عنصر في المجموعة.
  • استخدم Continue For سيتم نقل التحكم إلى بداية لكل حلقة. إنه اختياري.
  • استخدم Exit For سيتم نقل التحكم خارجًا لكل حلقة. إنه اختياري.
  • استخدم Next يمثل نهاية الحلقة لكل حلقة. هو مطلوب.

كيفية استخدام كل حلقة في VB.Net

يوضح المثال التالي كيفية استخدام حلقة For Each في VB.Net.

الخطوة 1) إنشاء تطبيق وحدة تحكم جديد.

الخطوة 2) استخدم الكود التالي:

Module Module1
    Sub Main()
        Dim myArray() As Integer = {10, 3, 12, 23, 9}
        Dim item As Integer
        For Each item In myArray
            Console.WriteLine(item)
        Next
        Console.ReadKey()
    End Sub
End Module

الخطوة 3) انقر على زر "ابدأ" من الشريط العلوي لتشغيل الكود. ستظهر لك النتيجة التالية:

مثال على مخرجات حلقة For Each في VB.Net

فيما يلي لقطة شاشة للكود:

مثال على كود حلقة For Each في VB.Net

شرح Code:

  1. إنشاء وحدة تسمى Module1.
  2. بدء الإجراء الفرعي الرئيسي.
  3. إنشاء مصفوفة باسم myArray مع مجموعة مكونة من 5 أعداد صحيحة.
  4. إنشاء متغير عدد صحيح يسمى العنصر.
  5. استخدام متغير العنصر للتكرار على عناصر المصفوفة المسماة myArray.
  6. طباعة العناصر الموجودة في المصفوفة بواسطة العبارة أعلاه على وحدة التحكم.
  7. نهاية لكل حلقة.
  8. إيقاف نافذة وحدة التحكم مؤقتًا لفترة من الوقت في انتظار قيام المستخدم باتخاذ إجراء لإغلاق النافذة.
  9. نهاية الإجراء الفرعي الرئيسي.
  10. نهاية الوحدة.

حلقات متداخلة في VB.Net

يمكن تداخل حلقات التكرار "For Each". يحدث هذا عندما نضع حلقة تكرار داخل حلقة تكرار أخرى. دعونا نوضح ذلك بمثال.

الخطوة 1) إنشاء تطبيق وحدة تحكم جديد.

الخطوة 2) استخدم الكود التالي:

Module Module1
    Sub Main()
        Dim nums() As Integer = {12, 23, 35}
        Dim names() As String = {"Guru99", "alice", "antony"}
        For Each n As Integer In nums
            For Each st As String In names
                Console.Write(n.ToString & st & " ")
            Next
        Next
        Console.ReadKey()
    End Sub
End Module

الخطوة 3) انقر فوق زر البدء من الشريط العلوي لتنفيذ التعليمات البرمجية. يجب أن تحصل على النتيجة التالية:

مخرجات حلقات For Each المتداخلة في VB.Net

فيما يلي لقطة شاشة للكود:

مثال على كود حلقات For Each المتداخلة في VB.Net

شرح الكود:

  1. إنشاء وحدة تسمى Module1.
  2. بدء الإجراء الفرعي الرئيسي.
  3. إنشاء مصفوفة باسم nums تحتوي على مجموعة من الأعداد الصحيحة.
  4. إنشاء مصفوفة مسماة بأسماء مع مجموعة من الأسماء.
  5. إنشاء متغير n واستخدامه للتكرار على العناصر الموجودة في المصفوفة المسماة nums. هذا هو الجزء الخارجي لكل حلقة.
  6. إنشاء متغير يسمى st واستخدامه للتكرار على العناصر الموجودة في المصفوفة المسماة الأسماء. هذا هو الجزء الداخلي لكل حلقة.
  7. دمج العناصر من المصفوفتين. سيتم دمج كل عنصر في المصفوفة nums مع كل عنصر في المصفوفة names. تساعدنا دالة ToString في تحويل الأرقام المقروءة من المصفوفة nums إلى سلاسل. تساعدنا علامة " " في إنشاء مسافة بعد كل مجموعة. تم تحقيق المجموعة باستخدام & (علامة الجمع).
  8. نهاية الداخلية لكل حلقة.
  9. نهاية الخارجي لكل حلقة.
  10. قم بإيقاف نافذة وحدة التحكم مؤقتًا في انتظار أن يتخذ المستخدم إجراءً لإغلاقها.
  11. نهاية الإجراء الفرعي الرئيسي.
  12. نهاية الوحدة.

VB.Net الخروج من أجل والاستمرار في البيان

عند استخدام عبارة Exit For، سيترك التنفيذ حلقة For Each… Next وسيتم نقل التحكم إلى العبارات التي تأتي بعد العبارة Next.

عند استخدام عبارة متابعة، سيتم نقل التحكم إلى التكرار التالي للحلقة الخاصة بك. دعونا نوضح ذلك باستخدام مثال:

الخطوة 1) ابدأ بإنشاء تطبيق وحدة تحكم جديد.

الخطوة 2) استخدم الكود التالي:

Module Module1
    Sub Main()
        Dim nums() As Integer =
    {10, 12, 14, 17, 19, 23, 26, 31, 33, 37, 40, 48}
        For Each n As Integer In nums
            If n >= 17 And n <= 25 Then
                Continue For
            End If
            Console.Write(n.ToString & " ")
            If n = 37 Then
                Exit For
            End If
        Next
        Console.ReadKey()
    End Sub
End Module

الخطوة 3) قم بتشغيل الكود بالضغط على زر البدء من الشريط العلوي، ويجب أن تحصل على النتيجة التالية:

مخرجات VB.Net للخروج من حلقة التكرار والاستمرار فيها

فيما يلي لقطة شاشة للكود:

مثال على كود الخروج من حلقة for والاستمرار في VB.Net

شرح Code:

  1. إنشاء وحدة تسمى الوحدة النمطية1.
  2. بدء الإجراء الفرعي الرئيسي.
  3. إنشاء مصفوفة باسم nums تحتوي على مجموعة من الأعداد الصحيحة.
  4. إنشاء متغير اسمه n ثم نستخدمه للتكرار على العناصر الموجودة في أرقام المصفوفة.
  5. استخدام شرط If…Then للتحقق من قيمة المتغير n. إذا كانت القيمة بين 17 (17 متضمنة) و25 (25 متضمنة)، فسيتم تخطي التكرار إلى العنصر التالي في المصفوفة.
  6. التخطيping يتم هنا تطبيق القيم المذكورة أعلاه. هذه هي العبارة اللازمة لتنفيذ عملية التخطي. وهذا يعني أن حلقة "For Each" لن تعمل على العناصر التي تم تخطيها.
  7. قم بإنهاء شرط If.
  8. طباعة القيم التي تم الحصول عليها من المصفوفة على وحدة التحكم. تساعدنا وظيفة ToString في تحويل القيم من أرقام إلى سلاسل. ستؤدي علامة " " إلى إنشاء بعض المساحة بعد كل قيمة مطبوعة.
  9. التحقق من متغير التكرار n عندما تكون قيمته 37 باستخدام شرط If…Then.
  10. الخروج من حلقة For Each عندما يكون الشرط أعلاه صحيحاً، أي قيمة n=37. وهذا يعني أن التكرار على عناصر المصفوفة سيتوقف.
  11. نهاية ما سبق إذا كان الشرط.
  12. نهاية ل... كل عبارة.
  13. قم بإيقاف نافذة وحدة التحكم مؤقتًا في انتظار أن يتخذ المستخدم إجراءً لإغلاقها.
  14. نهاية الإجراء الفرعي الرئيسي.
  15. نهاية الوحدة.

الأسئلة الشائعة

لا تحتوي حلقة For Each على فهرس وهي للقراءة فقط. أما حلقة For Next فتستخدم عدادًا رقميًا، وتدعم الكلمة المفتاحية Step، ويمكنها تغيير العناصر حسب موضعها.

لا، حلقة For Each تُعطي العنصر الحالي فقط، وليس موقعه. عندما تحتاج إلى الفهرس، استخدم حلقة For Next مع عداد.

لا. متغير الحلقة للقراءة فقط، لذا لا يمكنك إضافة عناصر أو إزالتها أو إعادة تعيينها أثناء التكرار. استخدم حلقة For Next بدلاً من ذلك.

أي نوع من أنواع IEnumerable، بما في ذلك مجموعة، والقوائم، والقواميس. تستخدم حلقة For Each المُعدِّد داخليًا، لذا فإن صيغة واحدة تقرأها جميعًا.

لا يتم تنفيذ الجزء الأساسي من الكود؛ ويستمر التنفيذ بعد استدعاء الدالة Next. عند تعيين قيمة المجموعة إلى Nothing، تُطلق الدالة For Each استثناء NullReferenceException.

بالنسبة للمصفوفات، قد يكون استخدام For Next أسرع قليلاً لأن For Each يضيف عبئًا إضافيًا على المُعدِّد. الفرق ضئيل، لذا يُفضَّل استخدام For Each لسهولة القراءة.

نعم. مساعد الطيار جيثب يحوّل تعليقًا مكتوبًا بلغة إنجليزية بسيطة إلى كتلة كاملة من حلقات التكرار (For Each). Revقم بمراجعته للتأكد من تطابق أنواع المجموعات والعناصر مع بياناتك.

نعم. يجمع Visual Studio 2026 بين Copilot و ذكاءCode لإكمال الأسطر الكاملة، مع مراعاة السياق، باستخدام ميزة "For Each" أثناء الكتابة.

تلخيص هذه التدوينة بـ: