جملة Switch
جزء من قسم Fundamentals في رحلة C# على Coddy — الدرس 27 من 69.
جملة switch تشبه جملة if متعددة الاتجاهات. فبدلاً من تقييم شرط واحد، تقوم بالتحقق من قيمة متغير مقابل حالات متعددة وتنفذ الكود المرتبط بالحالة المطابقة.
إليك الهيكل الأساسي لجملة switch:
switch (variable) {
case value1:
// الكود الذي سيتم تنفيذه إذا كانت variable تساوي value1
break;
case value2:
// الكود الذي سيتم تنفيذه إذا كانت variable تساوي value2
break;
// ... حالات إضافية
default:
// الكود الذي سيتم تنفيذه إذا لم تتطابق أي حالة
break;
}- تتبع الكلمة المفتاحية
switchبالمتغير الذي تريد اختباره بين قوسين. - تمثل كل
caseقيمة محتملة للمتغير. - يتم تنفيذ الكود الموجود داخل كل
caseإذا تطابق المتغير مع قيمة تلك الحالة.
- جملة
breakضرورية؛ فهي تخرج منswitchبعد تنفيذ الحالة. وبدونها، سيستمر التنفيذ ("يسقط") إلى الحالة التالية.
- الحالة
defaultاختيارية ويتم تنفيذها إذا لم تتطابق أي حالة أخرى.
إليك مثال:
int day = 3;
string dayName;
switch (day) {
case 1:
dayName = "Monday";
break;
case 2:
dayName = "Tuesday";
break;
// ... حالات للأيام الأخرى
default:
dayName = "Invalid day";
break;
}يمكنك أيضاً دمج عدة حالات في حالة واحدة:
int day = 3;
string dayName;
switch (day) {
case 1:
case 2:
case 3:
dayName = "Start of week";
break;
// ... حالات للأيام الأخرى
default:
dayName = "Invalid day";
break;
}التحدي
مبتدئأنشئ برنامجًا يأخذ رقم الشهر (1 لشهر يناير، 2 لشهر فبراير، إلخ) ويطبع الفصل الذي ينتمي إليه. استخدم جملة switch للمنطق البرمجي.
الفصول والشهور المقابلة لها هي:
- Winter: ديسمبر (12)، يناير (1)، فبراير (2)
- Spring: مارس (3)، أبريل (4)، مايو (5)
- Summer: يونيو (6)، يوليو (7)، أغسطس (8)
- Autumn: سبتمبر (9)، أكتوبر (10)، نوفمبر (11)
ورقة مرجعية
تُعد جملة switch شرطاً متعدد المسارات يتحقق من قيمة متغير مقابل حالات متعددة:
switch (variable) {
case value1:
// الكود الذي سيتم تنفيذه إذا كان المتغير يساوي value1
break;
case value2:
// الكود الذي سيتم تنفيذه إذا كان المتغير يساوي value2
break;
default:
// الكود الذي سيتم تنفيذه في حال عدم تطابق أي حالة
break;
}المكونات الرئيسية:
case: تمثل قيمة محتملة للمطابقةbreak: تخرج من جملة switch بعد تنفيذ الحالة (تمنع الانتقال للحالة التالية تلقائياً)default: حالة اختيارية يتم تنفيذها عندما لا تتطابق أي حالة أخرى
يمكنك دمج حالات متعددة:
switch (day) {
case 1:
case 2:
case 3:
dayName = "Start of week";
break;
default:
dayName = "Invalid day";
break;
}جرّب بنفسك
using System;
public class Program {
public static void Main(string[] args) {
int month = int.Parse(Console.ReadLine());
string season = "";
// اكتب كودك بالأسفل
Console.WriteLine(season);
}
}يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس Fundamentals
4المعاملات - الجزء الأول
المعاملات الحسابيةمعامل باقي القسمةالزيادة والنقصانالزيادة والنقصان اللاحقاختصارات العمليات الحسابية7أساسيات الإدخال والإخراج (Basic IO)
الإخراج الأساسيتضمين النصوص (String Interpolation)قراءة المدخلاتالتحليل (Parse)مراجعة - حتى 120مراجعة - True أو False5المعاملات - الجزء الثاني
معاملات المقارنةالمعاملات المنطقية - الجزء الأولالمعاملات المنطقية - الجزء الثانيمراجعة - المنطق البسيطالمعاملات المنطقية - الجزء الثالث