C#프로그래밍 04 : 코드 흐름 제어

LeeWonjin·2022년 3월 25일
0

[학부]C#프로그래밍

목록 보기
4/21

if문

if ( 조건식 ) {
  문장
} else if ( 조건식 ) {
  문장
} else {
  문장
}

switch

switch문

조건식에서 문자열 형식을 지원한다.
break문 대신 goto, return을 사용할 수 있는 경우도 있다.

switch ( 조건식 ) {
	case 상수1:
    	문장
        break;
	case 상수2:
    	문장
        break;
    default:
    	break;
}

아래와 같이 조건식에 들어온 변수의 타입에 따라 분기할 수도 있다.

// 입력이 "25"인 경우, 출력값은 "int <= 30"

object parsed = null;
string raw = Console.ReadLine();

if(int.TryParse(raw, out int outi)) {
    parsed = outi;
} else if (float.TryParse(raw, out float outf)) {
    parsed = outf;
} else {
    parsed = raw;
}

switch (parsed)
{
    case float f:
        Console.WriteLine("float");
        break;
    case int i when i > 30:
    	Console.WriteLine("int > 30");
        break;
    case int i:
        Console.WriteLine("int <= 30");
        break;
    default:
        Console.WriteLine("default");
        break;
}

switch식

아래 코드는, 바로 위 코드와 같은 동작을 한다.
:=>로, default_로 바뀐다.

object parsed = null;
string raw = Console.ReadLine();

if(int.TryParse(raw, out int outi)) {
    parsed = outi;
} else if (float.TryParse(raw, out float outf)) {
    parsed = outf;
} else {
    parsed = raw;
}

string result = parsed switch {
    float f => "float",
    int i when i>30 => "int > 30",
    int i => "int <= 30",
    _ => "default"
};

Console.WriteLine(result);

while

int a = 53;
while (a < 60)
{
    Console.WriteLine(a);
    a++;
}

do while

int a = 53;

do
{
    a++;
    Console.WriteLine(a);
} while (a < 60);

for

for(int i = 53; i<5353; i++){
	Console.WriteLine(i);
}

foreach

int[] arr = new int[] {1, 2, 3};
foreach (int el in arr)
{
	Console.WriteLine(el);
}

break

for(int i = 53; i<5353; i++){
	if(i==530){
    	break;
    }
}

continue

for(int i = 53; i<5353; i++){
	continue;
}

goto

goto itisLabel;
while (true) { }
itisLabel:;
profile
노는게 제일 좋습니다.

0개의 댓글