تصمیمگیری در برنامهنویسی مشابه تصمیمگیری در زندگی واقعی است. در برنامهنویسی نیز، یک بلوک خاص از کد زمانی اجرا میشود که یک شرط خاص برقرار باشد. در این مقاله، با انواع دستورات شرطی در سی شارپ «#Conditional commands in C» و نحوه استفاده از آنها آشنا خواهید شد.
یک زبان برنامهنویسی از دستورات کنترلی برای کنترل جریان اجرای برنامه بر اساس شرایط خاص استفاده میکند. این دستورات برای تغییر مسیر اجرای برنامه و شاخهبندی بر اساس تغییرات وضعیت برنامه به کار میروند.
دستورات شرطی در سی شارپ
دستورات شرطی در سی شارپ #C به شما کمک میکنند تا منطق برنامه خود را بر اساس شرایط خاص کنترل کنید. این دستورات امکان اجرای بلوکهای متفاوت کد را فراهم میکنند، بسته به اینکه یک شرط برقرار باشد یا خیر. با استفاده از این دستورات، میتوانید برنامههایی پویا و پاسخگو ایجاد کنید که رفتارشان بر اساس ورودیها یا شرایط تغییر میکند.
زبان برنامهنویسی #C چندین نوع دستور شرطی ارائه میدهد که شامل موارد زیر هستند:
- if
- if-else
- if-else-if
- Nested if
- Switch
- Nested switch
در ادامه هریک از دستورات شرطی در سی شارپ را بررسی میکنیم و نحوه استفاده از آنها را با مثال بیان میکنیم.
دستور شرطی IF در سی شارپ
دستور if برای بررسی یک شرط استفاده میشود. اگر شرط برقرار باشد (true)، دستورات داخل آن اجرا میشوند. در غیر این صورت، این دستورات نادیده گرفته میشوند.
ساختار «Syntax»
if(condition) { //code to be executed }
توجه داشته باشید که اگر از آکولادها { } در دستور if استفاده نشود، تنها اولین خط کد پس از شرط به عنوان بخشی از if اجرا میشود. سایر دستورات خارج از if محسوب میشوند.
مثال:
if (condition) statement 1; statement 2;
در این مثال، فقط دستور اول به عنوان بخشی از دستور if در نظر گرفته میشود.
فلوچارت
مثال
// C# program to illustrate if statement using System; public class Pstore { public static void Main(string[] args) { string name = "Pstore"; if (name == "Pstore") { Console.WriteLine("ProgramStore"); } } }
خروجی
ProgramStore
دستور شرطی IF ELSE در سی شارپ
دستور شرطی if-else در زبان سیشارپ زمانی استفاده میشود که نیاز باشد بر اساس درستی یا نادرستی یک شرط، کدهای متفاوتی اجرا شوند. اگر شرط if درست باشد، کدهای مربوط به آن اجرا میشوند و در صورتی که شرط نادرست باشد، کدهای تعریفشده در else اجرا خواهند شد.
ساختار «syntax»
if(condition) { // code if condition is true } else { // code if condition is false }
این ساختار به شما امکان میدهد تصمیمگیریهای دوطرفه را در برنامههای خود پیادهسازی کنید.
فلوچارت
مثال
// C# program to illustrate // if-else statement using System; public class PgS { public static void Main(string[] args) { string name = "Program"; if (name == "PStore") { Console.WriteLine("ProgramStore"); } else { Console.WriteLine("PStore"); } } }
خروجی
PStore
دستور شرطی IF ELSE IF در سی شارپ
دستور if-else-if یک از دستورات شرطی در سی شارپ است که برای بررسی چندین شرط به کار میرود. در این ساختار، کد از بالاترین سطح شروع به بررسی میکند و هر شرط if به ترتیب مورد بررسی قرار میگیرد. دستورات مربوط به شرطی که درست باشد، اجرا میشوند. اگر هیچکدام از شروط درست نباشند، آخرین بلوک else اجرا میشود.
ساختار نحوی (Syntax):
if(condition1) { // code to be executed if condition1 is true } else if(condition2) { // code to be executed if condition2 is true } else if(condition3) { // code to be executed if condition3 is true } ... else { // code to be executed if all the conditions are false }
این ساختار به شما این امکان را میدهد که چندین شرط مختلف را بررسی کرده و در صورت نادرست بودن هرکدام، به بلوکهای بعدی بروید.
فلوچارت
مثال
// C# program to illustrate // if-else-if ladder using System; class Pstore { public static void Main(String[] args) { int i = 20; if (i == 10) Console.WriteLine("i is 10"); else if (i == 15) Console.WriteLine("i is 15"); else if (i == 20) Console.WriteLine("i is 20"); else Console.WriteLine("i is not present"); } }
خروجی
i is 20
دستور IF تو در تو در سی شارپ
دستور if تو در تو «Nested If» به زمانی اطلاق میشود که یک دستور if داخل یک دستور if دیگر قرار میگیرد. در این حالت، دستور if داخلی تنها زمانی اجرا میشود که شرط if والد درست باشد. این روش زمانی کاربرد دارد که نیاز به بررسی چندین شرط در سطوح مختلف باشد و یکی از شروط زیرمجموعه شرط والد قرار بگیرد.
ساختار «Syntax»:
if (condition1) { // code to be executed // if condition2 is true if (condition2) { // code to be executed // if condition2 is true } }
در این ساختار، دستور if داخلی تنها زمانی بررسی میشود که شرط if والد درست باشد، و این امکان را فراهم میآورد که بررسیهای پیچیدهتری انجام شود.
فلوچارت
مثال
// C# program to illustrate // nested-if statement using System; class Pstore { public static void Main(String[] args) { int i = 10; if (i == 10) { // Nested - if statement // Will only be executed if statement // above it is true if (i < 12) Console.WriteLine("i is smaller than 12 too"); else Console.WriteLine("i is greater than 15"); } } }
خروجی
i is smaller than 12 too
دستور شرطی SWITCH در سی شارپ
دستور switch در سیشارپ به عنوان جایگزینی برای دستورات طولانی if-else-if استفاده میشود. در این دستور، یک عبارت بررسی میشود و بر اساس تطابق آن با کیسهای مختلف، یکی از آنها اجرا میشود. دستور break برای خروج از بلوک switch استفاده میشود. اگر از break استفاده نشود، کنترل به سایر کیسها منتقل میشود تا زمانی که یک break یا انتهای دستور switch برسد. همچنین، یک کیس پیشفرض (اختیاری) در انتهای دستور وجود دارد که اگر هیچکدام از کیسها با عبارت تطابق نداشته باشد، اجرا میشود.
سینتکس
switch (expression) { case value1: // statement sequence break; case value2: // statement sequence break; . . . case valueN: // statement sequence break; default: // default statement sequence }
این دستور به طور خلاصه برای بررسی چندین گزینه مختلف استفاده میشود و کد شما را سادهتر و خواناتر میکند.
فلوچارت
مثال
// C# example for switch case using System; public class PgS { public static void Main(String[] args) { int number = 30; switch(number) { case 10: Console.WriteLine("case 10"); break; case 20: Console.WriteLine("case 20"); break; case 30: Console.WriteLine("case 30"); break; default: Console.WriteLine("None matches"); break; } } }
خروجی
case 30
دستور شرطی Switch تو در تو
در سیشارپ، استفاده از switch تو در تو مجاز است. این بدان معنی است که میتوانید یک دستور switch را داخل یکی از کیسهای یک دستور switch والد قرار دهید. این امکان به شما اجازه میدهد تا چندین سطح از بررسیها و شرایط مختلف را به طور همزمان مدیریت کنید.
مثال
// C# example for nested switch case using System; public class PgS { public static void Main(String[] args) { int j = 5; switch (j) { case 5: Console.WriteLine(5); switch (j - 1) { case 4: Console.WriteLine(4); switch (j - 2) { case 3: Console.WriteLine(3); break; } break; } break; case 10: Console.WriteLine(10); break; case 15: Console.WriteLine(15); break; default: Console.WriteLine(100); break; } } }
خروجی
۵ ۴ ۳
نتیجه گیری
تصمیمگیری یکی از مفاهیم کلیدی در برنامهنویسی است که امکان کنترل جریان اجرای برنامه را فراهم میکند. دستورات شرطی در سی شارپ به برنامهنویسان اجازه میدهند تا بر اساس شرایط خاص، مسیرهای متفاوتی برای اجرای کد تعیین کنند و هر یک از این دستورات کاربردهای خاص خود را دارند.
در نهایت، انتخاب ساختار مناسب برای تصمیمگیری به نوع مسئله و نیازمندیهای برنامه بستگی دارد. با تسلط بر این مفاهیم، توسعهدهندگان میتوانند برنامههایی هوشمند، کارآمد و قابل اعتماد طراحی و پیادهسازی کنند.