دستور switch در سی شارپ
دستور switch در سی شارپ تقریبا معادل دستور if تو در تو می باشد با این تفاوت که فقط می توانند مقادیر ثابتی از رشته ها، کاراکترها و اعداد را بررسی کند.
نحوه نوشتن دستور switch
در زیر Syntax یک دستور switch در زبان سی شارپ را مشاهده می کنید:
1 2 3 4 5 6 7 8 9 10 11 12 | switch(expression) { case constant-expression : statement(s); break; /* optional */ case constant-expression : statement(s); break; /* optional */ /* you can have any number of case statements */ default : /* Optional */ statement(s); } |
قوانین زیر بر روی یک دستور switch اعمال می شوند:
- عبارت مورد استفاده در دستور switch باید یک نوع عددی یا قابل شمارش باشد یا می تواند از نوع یک کلاس باشد که در آن کلاس، یک تابع برای تبدیل به نوع عددی یا قابل شمارش تعریف شده باشد.
- شما می توانید هر تعداد بخش case که نیاز داشتید به دستور switch اضافه کنید.
- مقدار بررسی شده در case باید از همان نوعی باشد که در switch تعریف شده است. یعنی اگر در switch یک متغیر از نوع عدد را بررسی می کنید، باید مقادیر بررسی شده در case ها هم از نوع عددی باشند.
- زمانی که دستور switch به case مورد نظر برسد، کدهای موجود در بلوک آن case را اجرا می کند تا زمانی که به یک دستور break برسد.
- وقتی به یک دستور break می رسد، از switch خارج شده و کدهای بعد از بلوک switch اجرا می شوند.
- اگر در case ها دستور break مشخص نشود، سایر case ها هم اجرا می شوند.
- یک دستور switch می تواند، یک بخش default داشته باشد. بخش default زمانی که هیچ یک از case ها درست نباشد، اجرا می شود.
دیاگرام دستور switch
مثال
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | using System; namespace DecisionMaking { class Program { static void Main(string[] args) { /* local variable definition */ char grade = 'B'; switch (grade) { case 'A': Console.WriteLine("Excellent!"); break; case 'B': case 'C': Console.WriteLine("Well done"); break; case 'D': Console.WriteLine("You passed"); break; case 'F': Console.WriteLine("Better try again"); break; default: Console.WriteLine("Invalid grade"); break; } Console.WriteLine("Your grade is {0}", grade); Console.ReadLine(); } } } |
زمانی که کد بالا توسط کامپایلر زبان سی شارپ ، کامپایل و اجرا شود، نتیجه زیر را تولید خواهد کرد:
1 2 | Well done Your grade is B |
هیچ نظری ثبت نشده است