bool(C# 참조)bool (C# Reference)

bool 키워드는 System.Boolean의 별칭입니다.The bool keyword is an alias of System.Boolean. 부울 값 truefalse를 저장할 변수를 선언하는 데 사용됩니다.It is used to declare variables to store the Boolean values: true and false.

참고

예를 들어 값이 세 개인 논리를 지원해야 하는 경우(예: 값이 세 개인 부울 형식을 지원하는 데이터베이스에서 작업하는 경우) bool? 형식을 사용합니다.Use the bool? type, if you need to support the three-valued logic, for example, when you work with databases that support a three-valued Boolean type. bool? 피연산자의 경우 미리 정의된 &| 연산자는 값이 세 개인 논리를 지원합니다.For the bool? operands, the predefined & and | operators support the three-valued logic. 자세한 내용은 부울 논리 연산자 문서의 Nullable 부울 논리 연산자 섹션을 참조하세요.For more information, see the Nullable Boolean logical operators section of the Boolean logical operators article.

리터럴Literals

bool 변수에 부울 값을 할당할 수 있습니다.You can assign a Boolean value to a bool variable. bool로 계산되는 식을 bool 변수에 할당할 수도 있습니다.You can also assign an expression that evaluates to bool to a bool variable.

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입니다.The default value of a bool variable is false. bool? 변수의 기본값은 null입니다.The default value of a bool? variable is null.

변환Conversions

C++에서 bool 형식의 값은 int 형식의 값으로 변환될 수 있습니다. 즉, false는 0과 같고 true는 0이 아닌 값과 같습니다.In C++, a value of type bool can be converted to a value of type int; in other words, false is equivalent to zero and true is equivalent to nonzero values. C#에는 bool 형식과 다른 형식 간의 변환이 없습니다.In C#, there is no conversion between the bool type and other types. 예를 들어 다음 if 문은 C#에서 유효하지 않습니다.For example, the following if statement is invalid in C#:

int x = 123;

// if (x)   // Error: "Cannot implicitly convert type 'int' to 'bool'"
{
    Console.Write("The value of x is nonzero.");
}

int 형식의 변수를 테스트하려면 다음과 같이 0과 같은 값에 변수를 명시적으로 비교해야 합니다.To test a variable of the type int, you have to explicitly compare it to a value, such as zero, as follows:


if (x != 0)   // The C# way
{
    Console.Write("The value of x is nonzero.");
}

Example

이 예제에서는 키보드에서 문자를 입력하면 프로그램에서 입력 문자가 문자인지 확인합니다.In this example, you enter a character from the keyboard and the program checks if the input character is a letter. 문자인 경우 소문자 또는 대문자인지 확인합니다.If it is a letter, it checks if it is lowercase or uppercase. 이러한 검사는 IsLetterIsLower를 사용하여 수행되며, 둘 다 bool 형식을 반환합니다.These checks are performed with the IsLetter, and IsLower, both of which return the bool type:

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# language specification

자세한 내용은 C# 언어 사양을 참조하세요.For more information, see the C# Language Specification. C# 언어 사양은 C# 구문 및 사용법에 대한 신뢰할 수 있는 소스입니다.The language specification is the definitive source for C# syntax and usage.

참고 항목See also