کلمه کلیدی bool نام مستعاری برای System.Boolean می باشد که برای اعلان متغیرهایی برای ذخیره سازی مقادیر بولی true (درست) و false (غلط) استفاده می شود.
نکته:
اگر به متغیر بولی ای نیاز دارید که دارای مقدار null هم می باشد، از ?bool استفاده کنید.
لیترال ها:
شما می توانید یک مقدار بولی را به یک متغیر bool اختصاص دهید. همچنین می توانید یک عبارت را که نتیجه آن بصورت bool ارزیابی می شود را به متغیر bool اختصاص دهید.
public class BoolTest { static void Main() { bool b = true; // WriteLine automatically converts the value of b to text. Console.WriteLine(b); int days = DateTime.Now.DayOfYear; // Assign the result of a boolean expression to b. b = (days % 2 == 0); // Branch depending on whether b is true or false. if (b) { Console.WriteLine("days is an even number"); } else { Console.WriteLine("days is an odd number"); } } } /* Output: True days is an <even/odd> number */
false ، مقدار پیش فرض برای متغیرهای bool و ?bool است.
تبدیلات:
در ++C ، یک مقدار از نوع bool قابل تبدیل شدن به مقداری از نوع int بود، به بیان دیگر، false با صفر و true با مقادیر غیر صفر برابری می کرد. در #C ، هچی تبدیلی بین نوع bool و دیگر انواع وجود ندارد. برای مثال، بیان شرطی (if) زیر در #C نامعتبر است:
int x = 123; // if (x) // Error: "Cannot implicitly convert type 'int' to 'bool'" { Console.Write("The value of x is nonzero."); }
برای آزمودن یک متغیر از نوع int، مجبورید صریحا" آنرا با یک مقدار، مثل صفر، مقایسه کنید. مانند مثال زیر:
if (x != 0) // The C# way { Console.Write("The value of x is nonzero."); }
مثال
در این مثال، شما یک کارکتر از صفحه کلید وارد می کنید، سپس برنامه چک می کند که آیا کارکتر وارد شده، کارکتر حرفی است یا نه. اگر کارکتر حرفی بود، چک می کند که آیا حرف کوچک است یا حرف بزرگ. این بررسی ها با IsLetter، و IsLower که هر دو نوع bool را برگشت می دهند، انجام می شوند:
public class BoolKeyTest { 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."); } } } /* Sample Output: Enter a character: X The character is uppercase. Enter a character: x The character is lowercase. Enter a character: 2 The character is not an alphabetic character. */