سوئیچ (Switch)
وقتی چند حالت داری، «سوئیچ (Switch)» انتخاب را ساده می کند. «سوئیچ» روی یک «عبارت (Expression)» نگاه می کند. سپس مطابق هر «کیس (Case)» کد مناسب را اجرا می کند.
سوئیچ در سی شارپ چیست؟
سوئیچ برای انتخاب یک مسیر از چند مسیر است. بنابراین کد مرتب تر می شود. همچنین خوانایی بهتر می شود. هر case یک مقدار را پوشش می دهد. در پایان هم با break خارج می شوی.
سینتکس استاندارد (Syntax)
switch (expression)
{
  case x:
  {
    // code block
    break;
  }
  case y:
  {
    // code block
    break;
  }
  default:
  {
    // code block
    break;
  }
}
مثال: عدد روز هفته
یک عدد روز داریم. سپس نام روز را چاپ می کنیم. هر شماره یک case دارد.
int day = 4;
switch (day)
{
  case 1:
  {
    Console.WriteLine("Monday");
    break;
  }
  case 2:
  {
    Console.WriteLine("Tuesday");
    break;
  }
  case 3:
  {
    Console.WriteLine("Wednesday");
    break;
  }
  case 4:
  {
    Console.WriteLine("Thursday");
    break;
  }
  case 5:
  {
    Console.WriteLine("Friday");
    break;
  }
  case 6:
  {
    Console.WriteLine("Saturday");
    break;
  }
  case 7:
  {
    Console.WriteLine("Sunday");
    break;
  }
}
// Outputs "Thursday" (day 4)
کلیدواژه break
وقتی break اجرا شود، از بلوک سوئیچ خارج می شوی. بنابراین caseهای بعدی بررسی نمی شوند. این کار زمان اجرا را کاهش می دهد.
کلیدواژه default
«دفالت (default)» زمانی اجرا می شود که هیچ case مطابق نباشد. این گزینه اختیاری است؛ ولی بسیار کاربردی است.
int day = 4;
switch (day)
{
  case 6:
  {
    Console.WriteLine("Today is Saturday.");
    break;
  }
  case 7:
  {
    Console.WriteLine("Today is Sunday.");
    break;
  }
  default:
  {
    Console.WriteLine("Looking forward to the Weekend.");
    break;
  }
}
// Outputs "Looking forward to the Weekend."
گام های عملی
- یک عبارت انتخاب کن؛ مثل عدد روز.
- caseها را با مقادیر دقیق بنویس.
- در هر case خروجی مناسب چاپ کن.
- پس از هر case از break استفاده کن.
- در پایان یک default هم قرار بده.
نکته: اگر حالت ها زیادند، سوئیچ خواناتر از زنجیره else if است.
لینک های مفید داخل سایت
- شکل کوتاه if..else؛ مقایسه با سوئیچ.
- حلقه while؛ ادامه کنترل جریان.
- سوئیچ در سی شارپ؛ مرجع همین بخش.
جمع بندی سریع
- سوئیچ برای انتخاب بین چند حالت است.
- هر case با break تمام می شود.
- default برای حالتِ بدون تطبیق است.
- در حالت های زیاد، سوئیچ خواناتر است.
