Поделиться через


bool (Справочник по C#)

Ключевое слово bool является псевдонимом свойства System.Boolean. Оно используется для объявления переменных для хранения логических значений, true и false.

Примечание

Если вам нужна логическая переменная, которая также должна иметь значение null, воспользуйтесь переменной bool?.Дополнительные сведения см. в разделе Типы, допускающие значения NULL (Руководство по программированию на C#).

Литералы

Переменной 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
*/

Значение по умолчанию переменной bool — false. Значение по умолчанию переменной bool? — null.

Преобразования

В 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.
 */

Спецификация языка C#

Дополнительные сведения см в Спецификация языка C#. Спецификация языка является предписывающим источником информации о синтаксисе и использовании языка C#.

См. также

Ссылки

Ключевые слова C#

Таблица целых типов (Справочник по C#)

Таблица встроенных типов (Справочник по C#)

Таблица неявных числовых преобразований (Справочник по C#)

Таблица явных числовых преобразований (Справочник по C#)

Основные понятия

Руководство по программированию на C#

Другие ресурсы

Справочник по C#