F.R.I.D.A.Y.

C# - 조건문 본문

DEV/.Net

C# - 조건문

F.R.I.D.A.Y. 2021. 5. 27. 15:21
반응형

 if 조건문과 switch 조건문


if-else

 가장 대표적인 조건 분기문으로, 사용은 C++과 동일하다. 한가지 아쉬운 점이라면 안에 들어오는 expression은 무조건 bool 타입이어야 한다.

int a = 10;
if(a){}

 이런식의 처리가 가능하지 않다는 소리다. 때문에 논리 연산자를 이용해 무조건 true/false로 값을 주어야한다. 이 점은 좀 더 명확히 하기 위해서인듯

 

 키워드는 동일하게 if - else로 구성되어 있다. 일부 언어에서는 else if를 하나로 묶어버리는 경우가 있는데 C#의 경우엔 여전히 C/C++을 따라 if와 else로만 구성한다.

 

switch

 C++에서 진일보했다고 생각한다. 단순히 상수로만 구분하는 것이 아니라 문자열로도 판단이 가능하다.[# C++에선 문자열로 case 구분이 불가능했다.]

string str = "hello"

switch(str){
	case "hello":
    	System.Console.WriteLine("Hello world!");
        break;
    default:
    	System.Console.WriteLine("null");
        break;
}

 C++과 달라진 점이라면 case 구문 사이에 하나의 명령이라도 있으면 무조건 break를 넣어야한다는 점이다. C++에선 break 명령을 넣지 않아도 오류로 잡지 않았는데 C#에선 문법상 잡아버리는 듯.

switch(str){
	case "H":
	case "Hello":
    	System.Console.WriteLine("test");
        	// error, break 구문 없음
	case "world":
    	System.Console.WriteLine("Hello");
}

 다만 case 사이에 명령이 존재하지 않으면 C++과 동일하게 사용이 가능하다.

 

# index

728x90
반응형

'DEV > .Net' 카테고리의 다른 글

C# - 예외 처리  (0) 2021.05.27
C# - 반복문  (0) 2021.05.27
C# - Nullable Type  (0) 2021.05.27
C# - enum(열거형)  (0) 2021.05.27
C# - 문자열  (0) 2021.05.27
Comments