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# 구문 및 사용법에 대한 신뢰할 수 있는 소스입니다.