زبان برنامه نویسی سی شارپ شامل مجموعه ای از دستورات تصمیم گیری است که به کمک آنها میتوان جریان برنامه را بر اساس شروط معین مدیریت کرد. در این فصل به دستورات if در زبان برنامه نویسی سی شارپ میپردازیم.
دستورات شرطی if
زبان برنامه نویسی سی شارپ شامل مجموعه ای از دستورات تصمیم گیری است که به کمک آنها میتوان جریان برنامه را بر اساس شروط معین مدیریت کرد.
زبان سی شارپ شامل دستورات تصمیم گیری زیر است :
- دستور
if
- دستور
if-else
- دستور
switch
- عملگر سه تایی
:?
در این فصل در مورد دستورات if
مطالبی را خواهیم آموخت. قاعده نوشتاری دستور if
به شکلی است که در زیر آمده است :
if(boolean expression)
{ // execute this code block if expression evalutes to true
}
دستور if
شامل یک عبارت بولین (صحیح یا ناصحیح) است که به دنبال آن یک یا چند خط کد میتواند در بدنه دستور if
قرار گیرد. اگر عبارت بولین صحیح ارزیابی شود دستورات نوشته شده در بدنه if
اجرا خواهند شد.
همانطور که مشاهده می کنید در نمونه مثال زیر از دستور if
استفاده شده است. با توجه به اینکه عبارت بولین اولین دستور if
همیشه صحیح است ، دستورات بدنه آن همیشه اجرا خواهند شد. این در حالی است که بدنه دومین دستور if
به دلیل عبارت بولین ناصحیح هیچگاه اجرا نخواهد شد.
using System;
public class Program
{
public static void Main()
{
if(true)
{
Console.WriteLine("This will be displayed");
}
if(false)
{
Console.WriteLine("This will not be displayed");
}
}
}
خروجی نمونه مثال بالا به شکل زیر است :
This will be displayed
همانطور که در نمونه مثال بالا بیان شد دستور if
شامل یک عبارت بولین (صحیح و یا ناصحیح) است. یک عبارت می توانند مقدار صحیح و ناصحیح را برگرداند. در نمونه مثال زیر از عبارات منطقی به عنوان شرط دستور if
استفاده شده است :
using System;
public class Program
{
public static void Main()
{
int i = 10, j = 20;
if (i > j)
{
Console.WriteLine("i is greater than j");
}
if (i < j)
{
Console.WriteLine("i is less than j");
} if (i == j)
{
Console.WriteLine("i is equal to j");
} }
}
خروجی نمونه مثال بالا به شکل زیر است :
i is less than j
در نمونه مثال بالا عبارت بولین i < j
در دومین دستور if
صحیح ارزیابی می شود و تنها کدهای موجود در بدنه ی این دستور اجرا خواهند شد. عبارت های اولین و سومین دستور if
، ناصحیح ارزیابی میشوند و کدهای موجود در بدنه ی آنها اجرا نخواهند شد.
دستور if-else
زبان برنامه نویسی سی شارپ همچنین قسمت دومی را برای دستور if
فراهم آورده است. این قسمت else
نام دارد. دستور else
بعد از بدنه دستور if
قرار می گیرد و یا در زنجیره ای از دستورات if
و else
قبل از دستور if به صورت else-if
قرار میگیرد. در هر صورت دستور else تنها یک بار میتواند در زنجیره دستورات if
و else
قرار گیرد.
قاعده نوشتاری برای این دستور به شکل زیر است :
if(boolean expression)
{ // execute this code block if expression evalutes to true
}
else
{ // always execute this code block when above if expression is false
}
همانطور که در قاعده ی نوشتاری در بالا مشخص است دستور else
نمیتواند دارای عبارتی باشد. دستوراتی که در بدنه دستور else
قرار گرفتهاند زمانی که دستور if ناصحیح ارزیابی شود اجرا میشوند.
using System;
public class Program
{
public static void Main()
{
int i = 10, j = 20;
if (i > j)
{
Console.WriteLine("i is greater than j");
}
else
{
Console.WriteLine("i is either equal to or less than j");
}
}
}
خروجی نمونه مثال فوق به شکل زیر است :
i is either equal to or less than j
دستور else-if
دستور if
می تواند بلافاصله بعد از دستور else
قرار گیرد. در این صورت می توانید در این قسمت شرط دیگری را ارزیابی کنید.
static void Main(string[] args)
{ int i = 10, j = 20;
if (i > j) { Console.WriteLine("i is greater than j"); } else if (i < j) { Console.WriteLine("i is less than j"); } else { Console.WriteLine("i is equal to j"); } }
خروجی نمونه مثال بالا به شکل زیر است :
i is less than j
شما می توانید از چندین دستور else if
در یک زنجیره ی دستور if
استفاده کنید. زمانی که بدنه ی دستورات if
تنها دارای یک خط باشند میتوان براکت ها را حذف کرد.
int i = 10, j = 20;
if (i > j) Console.WriteLine("i is greater than j");
else if (i < j) Console.WriteLine("i is less than j");
else if (i == j) Console.WriteLine("i is equal to j");
خروجی به شکل زیر است :
i is less than j
دستورات if تو در تو
زبان برنامه نویسی سی شارپ به ما اجازه می دهد که دستورات if
را به صورت تو در تو استفاده کنیم. در نمونه مثال زیر می توان این دستورات را مشاهده نمود :
int i = 10;
if (i > 0)
{ if (i <= 100) { Console.WriteLine("i is positive number less than 100"); } else { Console.WriteLine("i is positive number greater than 100"); } }
خروجی به شکل زیر است :
i is positive number less than 100
به خاطر داشته باشید که
- دستورات if-else جریان برنامه را بر اساس ارزیابی عبارت بولین دستور if کنترل میکنند.
- دستورات شرطی جایگزین باید با یک دستور جایگزین آغاز شده و به دنبال آن از دستورات else و یا else if استفاده شود.
- تنها یک دستور else میتواند در یک زنجیره if-else قرار بگیرد.
- می توان چندین دستور else-if را در یک زنجیره if-else استفاده کرد.
- در زبان سی شارپ می توان به راحتی دستورات if را به صورت تو در تو به کار برد.