حلقة Foreach
جزء من قسم Fundamentals في رحلة C# على Coddy — الدرس 65 من 69.
توفر حلقة foreach، والمعروفة أيضاً بحلقة for المحسنة، طريقة أبسط للتكرار عبر المصفوفات والمجموعات. فهي تتعامل تلقائياً مع الفهرسة واسترجاع العناصر، مما يجعل الكود أكثر قابلية للقراءة وأقل عرضة للأخطاء.
إليك الصيغة الأساسية لحلقة foreach:
foreach (data_type element in array_or_collection) {
// الكود الذي سيتم تنفيذه لكل عنصر
}data_type: نوع العناصر في المصفوفة أو المجموعة.element: متغير سيحمل العنصر الحالي في كل تكرار.array_or_collection: المصفوفة أو المجموعة التي تريد التكرار عليها.
إليك مثالاً:
int[] numbers = {1, 2, 3, 4, 5};
foreach (int number in numbers) {
Console.WriteLine(number);
}في هذا المثال، تتكرر الحلقة عبر مصفوفة numbers. في كل تكرار، يتم تعيين العنصر الحالي إلى المتغير number، ويتم تنفيذ الكود الموجود داخل الحلقة. سيكون الناتج:
1
2
3
4
5تُعد حلقة foreach مفيدة بشكل خاص عندما تحتاج إلى الوصول إلى كل عنصر في مجموعة دون تعديل المجموعة نفسها. فهي تبسط الكود وتجعله أكثر قابلية للقراءة.
التحدي
سهلأنشئ برنامجاً يقوم بما يلي:
- يقوم بتهيئة مصفوفة من السلاسل النصية تسمى
fruitsبالقيم"apple"، و"banana"، و"orange"، و"grape"، و"kiwi". - يستخدم حلقة
foreachلتكرار العناصر عبر مصفوفةfruits. - في كل تكرار، يقوم بطباعة الفاكهة الحالية بأحرف كبيرة باستخدام الطريقة
ToUpper():someString.ToUpper()
ورقة مرجعية
توفر حلقة foreach طريقة أبسط للتكرار عبر المصفوفات والمجموعات دون الحاجة إلى الفهرسة اليدوية:
foreach (data_type element in array_or_collection) {
// الكود الذي سيتم تنفيذه لكل عنصر
}مثال مع مصفوفة أرقام صحيحة:
int[] numbers = {1, 2, 3, 4, 5};
foreach (int number in numbers) {
Console.WriteLine(number);
}تتعامل حلقة foreach تلقائيًا مع الفهرسة واسترداد العناصر، مما يجعل الكود أكثر قابلية للقراءة وأقل عرضة للأخطاء.
جرّب بنفسك
using System;
public class Program {
public static void Main(string[] args) {
// تهيئة مصفوفة الفواكه
// استخدام حلقة foreach للتكرار عبر المصفوفة
}
}يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس Fundamentals
4المعاملات - الجزء الأول
المعاملات الحسابيةمعامل باقي القسمةالزيادة والنقصانالزيادة والنقصان اللاحقاختصارات العمليات الحسابية7أساسيات الإدخال والإخراج (Basic IO)
الإخراج الأساسيتضمين النصوص (String Interpolation)قراءة المدخلاتالتحليل (Parse)مراجعة - حتى 120مراجعة - True أو False5المعاملات - الجزء الثاني
معاملات المقارنةالمعاملات المنطقية - الجزء الأولالمعاملات المنطقية - الجزء الثانيمراجعة - المنطق البسيطالمعاملات المنطقية - الجزء الثالث