다음을 통해 공유


if-else(C# 참조)

if 문은 Boolean 식의 값을 기준으로 실행할 문을 선택합니다. 다음 예제에서는 Boolean 변수 result를 true로 설정한 다음 if 문에서 이를 확인합니다. 출력은 The variable is set to true입니다.

bool result = true;

if (result)
{
    Console.WriteLine("The variable is set to true.");
}
else
{
    Console.WriteLine("The variable is set to false.");
}

괄호 안의 식이 true가 되면 Console.WriteLine("The variable 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# 언어 사양을 참조하십시오. 이 언어 사양은 C# 구문 및 사용법에 대한 신뢰할 수 있는 소스입니다.

참고 항목

참조

C# 키워드

?: 연산자(C# 참조)

if-else Statement (C++)

switch(C# 참조)

개념

C# 프로그래밍 가이드

기타 리소스

C# 참조