التكرار على المصفوفات
استخدم for وforeach
التكرار على المصفوفات درس مجاني في C# Academy على CoddyKit. هذا هو الدرس 3 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في C# Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة C# Academy 4 دروس في المجموع.
لماذا نستخدم الحلقات؟
غالبًا ما تحتوي المصفوفات على قيم كثيرة، ونادرًا ما تريدون كتابة كل فهرس يدويًا. تكرر الحلقة إجراءً معينًا لكل عنصر تلقائيًا.
ويتيح لكم ذلك طباعة جميع القيم أو جمعها أو التحقق منها باستخدام بضعة أسطر فقط.
حلقة for
تستخدم حلقة for عدّادًا. ابدؤوا به عند 0، واستمروا ما دام أصغر من Length، وزيدوه بمقدار واحد في كل مرة.
يؤدي العدّاد دور الفهرس أيضًا، لذا يمكنكم الوصول إلى كل عنصر.
int[] nums = { 10, 20, 30 };
for (int i = 0; i < nums.Length; i++)
{
Console.WriteLine(nums[i]);
}برنامج for كامل
يمر هذا البرنامج الكامل عبر الألوان ويطبع كل لون في سطر مستقل.
شغّلوه ولاحظوا كيف يتعامل السطر نفسه من الشيفرة مع كل عنصر.
string[] colors = { "red", "green", "blue" };
for (int i = 0; i < colors.Length; i++)
{
Console.WriteLine(colors[i]);
}حلقة foreach
عندما تحتاجون إلى القيم فقط وليس إلى الفهرس، تكون foreach أبسط. فهي تسلّمكم كل عنصر بالترتيب.
لا يوجد عدّاد لإدارته، ما يعني فرصًا أقل لوقوع الأخطاء.
string[] colors = { "red", "green", "blue" };
foreach (string c in colors)
{
Console.WriteLine(c);
}foreach مع var
يمكنكم استخدام var في foreach للسماح لـ C# بتحديد نوع العنصر.
وهذا يجعل الحلقة أقصر مع الحفاظ على أمان الأنواع.
int[] nums = { 1, 2, 3 };
foreach (var n in nums)
{
Console.WriteLine(n * 2);
}for في مقابل foreach
استخدموا for عندما تحتاجون إلى الفهرس، أو تريدون تخطي بعض العناصر، أو يجب عليكم تعديل المصفوفة. واستخدموا foreach عندما تريدون قراءة كل قيمة فحسب.
لا يمكنكم تغيير متغير الحلقة في foreach للكتابة مجددًا إلى المصفوفة؛ استخدموا for لهذا الغرض.
int[] nums = { 1, 2, 3 };
for (int i = 0; i < nums.Length; i++)
{
nums[i] = nums[i] + 1; // updates the array
}
Console.WriteLine(nums[0]); // 2جمع العناصر
من المهام الشائعة جمع جميع القيم. احتفظوا بإجمالي متراكم وأضيفوا إليه كل عنصر داخل الحلقة.
يصلح هذا النمط لحساب الأعداد والإجماليات والمتوسطات.
int[] nums = { 4, 8, 15 };
int total = 0;
foreach (int n in nums)
{
total += n;
}
Console.WriteLine(total); // 27العثور على القيمة العظمى
للعثور على أكبر قيمة، ابدؤوا بافتراض أن العنصر الأول هو القيمة العظمى، ثم قارنوا كل عنصر آخر به.
كلما وجدتم قيمة أكبر، حدّثوا القيمة العظمى.
int[] nums = { 3, 9, 2, 7 };
int max = nums[0];
foreach (int n in nums)
{
if (n > max) max = n;
}
Console.WriteLine(max); // 9البحث عن قيمة
يمكنكم استخدام حلقة للتحقق مما إذا كانت قيمة ما موجودة. اخرجوا من الحلقة فور العثور على تطابق لتوفير الجهد.
يتذكر متغير منطقي ما إذا كان العنصر قد عُثر عليه.
string[] names = { "Ana", "Bo", "Cy" };
bool found = false;
foreach (string n in names)
{
if (n == "Bo") { found = true; break; }
}
Console.WriteLine(found); // Trueالطباعة مع الفهرس
قد ترغبون أحيانًا في عرض الموضع أيضًا. تمنحكم حلقة for الفهرس إلى جانب القيمة.
وهذا مناسب جدًا للقوائم المرقمة.
string[] tasks = { "Wake", "Eat", "Code" };
for (int i = 0; i < tasks.Length; i++)
{
Console.WriteLine((i + 1) + ". " + tasks[i]);
}التكرار على نطاق
لا يلزمكم التكرار على المصفوفة بأكملها. غيّروا بداية حلقة for أو نهايتها لزيارة جزء منها فقط.
نتخطى هنا العنصر الأول بالبدء من الفهرس 1.
int[] nums = { 10, 20, 30, 40 };
for (int i = 1; i < nums.Length; i++)
{
Console.WriteLine(nums[i]); // 20, 30, 40
}تحقق سريع
اختبروا معرفتكم بالحلقات.
مراجعة
تعلّمتم المرور عبر المصفوفات باستخدام for (العدّاد والفهرس) وforeach (كل قيمة مباشرة).
استخدموا for عندما تحتاجون إلى الفهرس أو تريدون تعديل العناصر، وforeach للمرور على العناصر بهدف قراءتها فقط. كما جمعتم القيم، وبحثتم عنها، وعثرتم على القيمة العظمى. ستتعاملون بعد ذلك مع الشبكات باستخدام المصفوفات متعددة الأبعاد.
الأسئلة الشائعة
هل درس «التكرار على المصفوفات» مجاني؟
نعم — نص درس «التكرار على المصفوفات» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة C# Academy، انتقل إلى CoddyKit PRO. تتضمن دورة C# Academy 4 دروس في المجموع.
ماذا ستتعلم في «التكرار على المصفوفات»؟
استخدم for وforeach تتمرن على C# Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ C# Academy؟
لا تُشترط خبرة سابقة. C# Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 3 من أصل 4.
كم من الوقت يستغرق درس «التكرار على المصفوفات»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس C# Academy هذا؟
نعم. كل درس في C# Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- التصريح بالمصفوفات
- الفهرسة والطول
- التكرار على المصفوفات
- المصفوفات متعددة الأبعاد