تمرين - تنفيذ عبارة foreach

مكتمل

لنفترض أنك تعمل في شركة تصنيع. تحتاج الشركة إلى إكمال مخزون مستودعك لتحديد عدد المنتجات الجاهزة للشحن. بالإضافة إلى العدد الإجمالي للمنتجات النهائية، تحتاج إلى الإبلاغ عن عدد المنتجات النهائية المخزنة في كل سلة فردية في مستودعك، إلى جانب الإجمالي الحالي. سيتم استخدام هذا الإجمالي قيد التشغيل لإنشاء سجل تدقيق حتى تتمكن من التحقق مرة متعددة من عملك وتحديد "الانكماش".

التكرار من خلال مصفوفة باستخدام foreach

foreach توفر العبارة طريقة بسيطة ونظيفة للتكرار من خلال عناصر الصفيف. تعالج العبارة foreach عناصر الصفيف في زيادة ترتيب الفهرس، بدءا من الفهرس 0 وتنتهي بطول الفهرس - 1. يستخدم متغيرا مؤقتا للاحتفاظ بقيمة عنصر الصفيف المقترن بالتكرار الحالي. سيقوم كل تكرار بتشغيل كتلة التعليمات البرمجية الموجودة أسفل foreach الإعلان.

إليك مثال بسيط:

string[] names = { "Rowena", "Robin", "Bao" };
foreach (string name in names)
{
    Console.WriteLine(name);
}

أسفل الكلمة الرئيسية foreach، ستقوم كتلة التعليمة البرمجية التي تحتوي على العنصر Console.WriteLine(name); بتنفيذ كل عنصر من عناصر مصفوفة names مرة واحدة. نظراً لأن وقت تشغيل .NET يتكرر عبر كل عنصر من عناصر المصفوفة، يتم تعيين القيمة المخزنة في العنصر الحالي لمصفوفة names إلى المتغير المؤقت name لسهولة الوصول إليه داخل كتلة التعليمة البرمجية.

إذا قمت بتشغيل التعليمات البرمجية، فسترى النتيجة التالية.

Rowena
Robin
Bao

استخدم العبارة foreach لإنشاء مجموع جميع العناصر الموجودة في كل سلة من مستودعك.

إنشاء صفيف من int وتهيئته

  1. تأكد من وجود ملف Program.cs فارغ مفتوح في Visual Studio Code.

    إذا لزم الأمر، افتح Visual Studio Code، ثم أكمل الخطوات التالية لإعداد ملف Program.cs في المحرر:

    1. في القائمة ملف ، حدد فتح مجلد.

    2. استخدم مربع الحوار فتح مجلد للانتقال إلى المجلد CsharpProjects ثم فتحه.

    3. في طريقة عرض Visual Studio Code EXPLORER، حدد Program.cs.

    4. في قائمة Visual Studio Code Selection ، حدد Select All، ثم اضغط على مفتاح Delete.

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

    int[] inventory = { 200, 450, 700, 175, 250 };
    

إضافة عبارة foreach للتكرار من خلال الصفيف

  1. لإنشاء عبارة foreach تتكرر من خلال كل عنصر من inventory عناصر الصفيف، أدخل التعليمات البرمجية التالية:

    foreach (int items in inventory)
    {
    
    }
    

    لاحظ أن العبارة foreach تعين مؤقتا قيمة عنصر الصفيف الحالي إلى int متغير يسمى items.

  2. تأكد من أن التعليمات البرمجية الخاصة بك تطابق ما يلي:

    int[] inventory = { 200, 450, 700, 175, 250 };
    
    foreach (int items in inventory)
    {
    
    }
    

إضافة متغير لجمع قيمة كل عنصر في الصفيف

  1. ضع المؤشر على سطر التعليمات البرمجية الفارغة أعلى العبارة foreach .

  2. للإعلان عن متغير جديد يمثل مجموع جميع المنتجات النهائية في المستودع الخاص بك، أدخل التعليمات البرمجية التالية:

    int sum = 0;
    

    تأكد من إعلان المتغير خارج العبارة foreach .

  3. ضع المؤشر داخل كتلة التعليمات البرمجية من العبارة foreach .

  4. لإضافة القيمة الحالية المخزنة items في sum إلى المتغير، أدخل التعليمات البرمجية التالية:

    sum += items;
    
  5. تأكد من تطابق التعليمات البرمجية الخاصة بك مع ما يلي:

    int[] inventory = { 200, 450, 700, 175, 250 };
    int sum = 0;
    foreach (int items in inventory)
    {
        sum += items;
    }
    

عرض القيمة النهائية للمجموع

  1. إنشاء سطر تعليمة برمجية فارغ أسفل كتلة التعليمات البرمجية من العبارة foreach .

  2. للإبلاغ عن المجموع النهائي للعناصر في المخزون الخاص بك، أدخل التعليمات البرمجية التالية:

    Console.WriteLine($"We have {sum} items in inventory.");
    
  3. تأكد من أن التعليمات البرمجية الخاصة بك تطابق ما يلي:

    int[] inventory = { 200, 450, 700, 175, 250 };
    int sum = 0;
    foreach (int items in inventory)
    {
        sum += items;
    }
    
    Console.WriteLine($"We have {sum} items in inventory.");
    
  4. في قائمة Visual Studio Code File ، انقر فوق Save.

  5. في طريقة عرض EXPLORER، لفتح Terminal في موقع مجلد TestProject، انقر بزر الماوس الأيمن فوق TestProject، ثم حدد Open in Integrated Terminal.

  6. في موجه الأوامر Terminal، اكتب dotnet run ثم اضغط على Enter.

    We have 1775 items in inventory.
    

إنشاء متغير للاحتفاظ برقم الحاوية الحالي وعرض الإجمالي الحالي

للوفاء بالمتطلبات النهائية لمشروع الإبلاغ عن المخزون الخاص بك، ستحتاج إلى إنشاء متغير يحتوي على التكرار الحالي للبيان حتى تتمكن من foreach عرض سلة الأصناف وعدد العناصر النهائية في تلك الحاوية، إلى جانب الإجمالي الحالي لجميع عناصر الحاوية التي تم حسابها حتى الآن.

  1. إنشاء سطر تعليمة برمجية فارغ أعلى العبارة foreach .

  2. للإعلان عن int المتغير المسمى bin الذي تمت تهيئته إلى 0، أدخل التعليمات البرمجية التالية:

    int bin = 0;
    

    ستستخدم bin لتخزين عدد السلة التي تتم معالجة مخزونها حاليا.

  3. foreach داخل كتلة التعليمات البرمجية، لزيادة bin في كل مرة يتم فيها تنفيذ كتلة التعليمات البرمجية، أدخل التعليمات البرمجية التالية:

    bin++;
    

    لاحظ أنك تستخدم ++ عامل التشغيل لزيادة قيمة المتغير بمقدار 1. هذا اختصار ل bin = bin + 1.

  4. للإبلاغ عن رقم الحاوية وعدد المنتجات النهائية في الحاوية والإجمالي الحالي للمنتجات النهائية، أدخل التعليمات البرمجية التالية داخل كتلة التعليمات البرمجية foreach ، بعد bin++;:

    Console.WriteLine($"Bin {bin} = {items} items (Running total: {sum})");
    

    ستستخدم هذه التعليمة البرمجية متغير binالعداد والمتغير foreachالمؤقت items والمتغير الخاص بك sum للإبلاغ عن الحالة الحالية للمخزون الخاص بك في رسالة منسقة بشكل جيد.

  5. تأكد من أن التعليمات البرمجية الخاصة بك تطابق ما يلي:

    int[] inventory = { 200, 450, 700, 175, 250 };
    int sum = 0;
    int bin = 0;
    foreach (int items in inventory)
    {
        sum += items;
        bin++;
        Console.WriteLine($"Bin {bin} = {items} items (Running total: {sum})");
    }
    Console.WriteLine($"We have {sum} items in inventory.");
    
  6. احفظ التغييرات على ملف Program.cs، ثم قم بتشغيل التطبيق.

    ينبغي أن تشاهد المخرج التالي:

    Bin 1 = 200 items (Running total: 200)
    Bin 2 = 450 items (Running total: 650)
    Bin 3 = 700 items (Running total: 1350)
    Bin 4 = 175 items (Running total: 1525)
    Bin 5 = 250 items (Running total: 1775)
    We have 1775 items in inventory.
    

خلاصة

فيما يلي بعض الأشياء التي يجب تذكرها حول foreach العبارات والقيم الإضافية التي تعلمتها في هذه الوحدة:

  • استخدم جملة foreach للتكرار خلال كل عنصر في مصفوفة ما، وتنفيذ كتلة التعليمة البرمجية المرتبطة مرة واحدة لكل عنصر في المصفوفة.
  • تُعيّن جملة foreach قيمة العنصر الحالي في المصفوفة لمتغير مؤقت، والذي يمكنك استخدامه في محتوى كتلة التعليمة البرمجية.
  • استخدم عامل الزيادة ++ لإضافة 1 إلى قيمة المتغير الحالية.