بیان if ، اجرای یک بیان یا بلوکی از بیان ها را بر اساس مقدار یک عبارت بولی ، انتخاب می کند. در مثال زیر متغیر بولی result با true مقداردهی ، سپس در بیان if بررسی شده است. خروجی "The variable is set to true" است.
bool result = true; if (result == true) { Console.WriteLine("The variable is set to true."); } else { Console.WriteLine("The variable is set to false."); }
اگر عبارت ارزیابی شده در داخل پرانتز درست باشد، آنگاه بیان
Console.WriteLine("The variable is set to true.");
اجرا خواهد شد. بعد از اجرای بیان if ، روند اجرای برنامه به بیان بعدی منتقل می شود. در این مثال else اجرا نشده است.
اگر می خواهید بیش از یک بیان را اجرا کنید، آنها را مانند مثال بالا با استفاده از {} در داخل بلوک قرار دهید.
بیان (هایی) که به مجرد بررسی شرط باید اجرا شوند، از هر نوعی من جمله یک بیان if دیگر که با بیان if اصلی تودرتو (nested) شده ، می توانند باشند. در بیان های if تودرتو، جمله else متعلق به آخرین if ی که else ندارد، می باشد. برای مثال:
int x = 12; int y = 18; if (x > 10) if (y > 20) Console.Write("Statement_1"); else Console.Write("Statement_2");
در این مثال، اگر شرط (y>20) به false ارزیابی شود، Statement_2 به نمایش در می آید. اما اگر می خواهید Statement_2 را به شرط (x>10) مرتبط کنید، از آکولاد استفاده کنید:
if (x > 10) { if (y > 20) Console.Write("Statement_1"); } else Console.Write("Statement_2");
در این نمونه، درصورتی که شرط (x>10) به false ارزیابی شود، Statement_2 نمایش داده می شود.
مثال
در این مثال، شما یک کاراکتر از طریق صفحه کلید وارد می کنید و برنامه بررسی می کند که آیا کاراکتر ورودی، الفبایی است یا خیر. اگر چنین بود، بررسی می کند که آیا از حروف کوچک است یا حروف بزرگ. در هر کدام از حالات، پیغام مناسب به نمایش در می آید.
class IfTest { static void Main() { Console.Write("Enter a character: "); char c = (char)Console.Read(); if (Char.IsLetter(c)) { if (Char.IsLower(c)) { Console.WriteLine("The character is lowercase."); } else { Console.WriteLine("The character is uppercase."); } } else { Console.WriteLine("Not an alphabetic character."); } } /* Input: 2 Sample Output Enter a character: 2 The character is not an alphabetic character. Additional sample might look as follows: Run #2: Enter a character: A The character is uppercase. Run #3: Enter a character: h The character is lowercase. * */ }
همچنین با استفاده از آرایش if-else زیر ، این امکان وجود دارد که بیان if را برای مدیریت (handle) چندین شرط، گسترش داد:
if (Condition_1) { // Statement_1; } else if (Condition_2) { // Statement_2; } else if (Condition_3) { // Statement_3; } else { // Statement_n; }
این مثال بررسی می کند که آیا کاراکتر ورودی ، حرف کوچک، حرف بزرگ، یا یک عدد است. در غیر این صورت، آن کاراکتر ، حرفی-عددی نیست. برنامه بصورت نردبانی از else-if استفاده می کند.
public class IfTest3 { static void Main() { Console.Write("Enter a character: "); char c = (char)Console.Read(); if (Char.IsUpper(c)) { Console.WriteLine("Character is uppercase."); } else if (Char.IsLower(c)) { Console.WriteLine("Character is lowercase."); } else if (Char.IsDigit(c)) { Console.WriteLine("Character is a number."); } else { Console.WriteLine("Character is not alphanumeric."); } } } /* Sample Input: E Sample Output: Enter a character: E The character is uppercase. Additional sample runs might look as follows: Run #2 Enter a character: e The character is lowercase. Run #3: Enter a character: 4 The character is a number. Run #4: Enter a character: $ The character is not alphanumeric. */