جمل Switch المتداخلة
جزء من قسم Logic & Flow في رحلة C# على Coddy — الدرس 11 من 66.
تتيح لك عبارات switch المتداخلة وضع عبارة switch واحدة داخل أخرى لاتخاذ قرارات أكثر تعقيداً.
أنشئ switch متداخلة أساسية:
string department = "Sales";
string level = "Senior";
switch (department)
{
case "Sales":
switch (level)
{
case "Junior":
Console.WriteLine("Sales Junior");
break;
case "Senior":
Console.WriteLine("Sales Senior");
break;
}
break;
case "IT":
switch (level)
{
case "Junior":
Console.WriteLine("IT Junior");
break;
case "Senior":
Console.WriteLine("IT Senior");
break;
}
break;
}احرص دائمًا على تضمين جمل break لمنع الانتقال التلقائي (fall-through) إلى الـ case التالية.
تذكر أن تحافظ على قابلية قراءة الكود الخاص بك باستخدام المسافات البادئة المناسبة.
التحدي
متوسطقم بإنشاء طريقة تسمى calculatePrice تقوم بما يلي:
- تأخذ ثلاثة معاملات:
- productType (string): إما "Electronics" أو "Clothing" أو "Food"
- productTier (string): إما "Basic" أو "Premium" أو "Luxury"
- basePrice (int): السعر الأساسي للمنتج
- تعيد السعر النهائي (int) بعد تطبيق هذه القواعد:
- بالنسبة لـ Electronics:
- Basic: أضف $50 إلى السعر الأساسي
- Premium: أضف $100 إلى السعر الأساسي
- Luxury: أضف $250 إلى السعر الأساسي
- بالنسبة لـ Clothing:
- Basic: أضف $10 إلى السعر الأساسي
- Premium: أضف $50 إلى السعر الأساسي
- Luxury: أضف $100 إلى السعر الأساسي
- بالنسبة لـ Food:
- Basic: لا يوجد تغيير على السعر الأساسي
- Premium: أضف $15 إلى السعر الأساسي
- Luxury: أضف $30 إلى السعر الأساسي
- لأي نوع منتج أو فئة أخرى، قم بإعادة السعر الأساسي دون تغيير
- بالنسبة لـ Electronics:
جرّب بنفسك
public class CalculatePrice
{
// قم بتنفيذ دالة calculatePrice
public static int calculatePrice(string productType, string productTier, int basePrice)
{
// اكتب كودك هنا
}
}يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس Logic & Flow
1المصفوفات متعددة الأبعاد
أساسيات المصفوفات ثنائية الأبعادتعريف وتهيئة المصفوفات ثنائية الأبعادالوصول إلى عناصر المصفوفة ثنائية الأبعادالحلقات المتداخلة مع المصفوفات ثنائية الأبعادالمصفوفات المتعرجة (Jagged Arrays)عمليات المصفوفات الشائعةمراجعة - المصفوفات متعددة الأبعاد4تقنيات التحكم في التدفق
الإرجاع المبكرشروط الحمايةجمل القفز (goto)Break و Continueتسطيح الشروط المتداخلة7المعاملات المنطقية المتقدمة
التقييم المختصرالمعاملات المنطقية الشرطيةأولوية المعاملاتمراجعة - المعاملات المتقدمة2اتخاذ القرارات المتقدم
الشروط المتعددةالمنطق البولياني المعقدمقارنة بين If و Switchجمل Switch المتداخلةمراجعة - القرارات المتقدمة5معالجة الاستثناءات
أساسيات Try-Catchأنواع الاستثناءاتكتل Catch المتعددةالتعامل مع الملفاتكتلة FinallyUsing مقابل Try-Finallyاستثناءات مخصصةمراجعة - معالجة الأخطاء8نظام تحليل البيانات
إعداد جمع البياناتمنطق إدخال البيانات11HashSet الجزء الأول
ما هو الـ HashSet؟إضافة عنصرحذف عنصرالتحقق من وجود عنصرالفراغ والحجمملخص - HashSet3تحسينات الحلقات التكرارية
أداء الحلقات التكراريةالتكرار عبر البيانات المعقدةأنواع الحلقات التكراريةإعادة هيكلة الحلقات التكراريةملخص - الحلقات المحسنة6التعامل مع الـ Null
أساسيات الـ Null Referenceأنواع القيم القابلة للـ Nullأنماط التحقق من الـ Nullالبرمجة الدفاعيةملخص - أمان الـ Null