Share via


if-else(C# 참조)

업데이트: 2007년 11월

if 문은 Boolean 식의 값을 기준으로 실행할 문을 선택합니다. 다음 예제에서는 Boolean 플래그 flagCheck를 true로 설정한 다음 if 문에서 이를 확인합니다. 출력은 The flag 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.");
}

괄호 안의 식이 true가 되면 Console.WriteLine("The boolean flag is set to true."); 문이 실행됩니다. if 문을 실행한 후에는 제어가 다음 문으로 전달됩니다. 이 예제에서 else는 실행되지 않습니다.

둘 이상의 문을 실행하려는 경우 위 예제처럼 {}를 사용하여 블록에 문을 포함시키면 여러 문을 조건부로 실행할 수 있습니다.

조건을 테스트할 때 실행할 문은 원래 if 문에 중첩된 다른 if 문을 포함하여 모든 종류의 문이 될 수 있습니다. 중첩 if 문에서 else 절은 대응하는 else 절이 없는 마지막 if에 속합니다. 예를 들면 다음과 같습니다.

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

또한 다음과 같이 else-if 배열을 사용하여 if 문을 확장하면 여러 조건을 처리할 수 있습니다.

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

C# 언어 사양

자세한 내용은 C# 언어 사양의 다음 단원을 참조하십시오.

  • 5.3.3.5 If 문

  • 8.7.1 if 문

참고 항목

개념

C# 프로그래밍 가이드

참조

C# 키워드

?: 연산자(C# 참조)

The if-else Statement

switch(C# 참조)

기타 리소스

C# 참조