전체 페이지뷰

2016년 12월 13일 화요일

C# Flow Control

분기문(Branching Statement)

if...else

if (조건식)
{  
    참일 때 실행할 코드;
}
else if (조건식)
{   
    ...
}
else 
{
    ....
}

의 형식으로 다른 언어와 마찬가지로 중첩(Nesting)을 허용하여 쓰입니다. C나 C++과 유사하나 조건식에 숫자가 오지 못하며 반드시 bool형만이 허용되는 점이 다릅니다.

switch

switch (조건식)
{
    case 상수1:
        조건식==상수1일 때 실행할 코드;
        break;
    case 상수2:
        조건식==상수2일 때 실행할 코드;
        break;;
     .
     .
    default:
        일치하는 것이 없을때(생략가능);
        break;
}

모든 case마다 break가 있어야 하며, 조건문은 int와 문자열 두가지만 허용됩니다.

크게 어려운 것이 없으므로 예는 생략합니다.


반복문

while

while (조건식)
{
    실행할 코드;
}

무한 반복시 C언어에서처럼 while(0)은 허용되지 않고, while(true)만 가능.

do while

do
{
    반복 실행할 코드;
}
while( 조건식 );

(조건식); 뒤에도 세미콜론이 붙는다는 점 유의 바랍니다.

for

for(초기화식;조건식;반복식)
{
    반복실행할 코드;
}

for( ; ; )로 무한 루프를 만들 수 있습니다.

foreach

foreach ( 데이터형식 변수명 in 배열 또는 컬렉션)
{
   코드;
}

foreach는 C,C++에서는 없는 반복문입니다. in 뒤에는  배열이나 IEnumerable<T>를 구현하는 컬렉션이 와야 합니다. 배열이나 컬렉션의 요소를 하나씩 순회하면서 변수로 받아 처리할 수 있게 해주는 편리한 방식입니다.

using System;
class Program
{
    static void Main(string[] args)
    {
        int[] fibarray = new int[] { 011235813 };
        foreach (int element in fibarray)
        {
            System.Console.WriteLine(element);
        }
        System.Console.WriteLine();
    }
}
cs
결과 )
0 1 1 2 3 5 8 13

fibarray 배열의 요소를 하나씩 받아 출력하고 있습니다(결과에서 줄바꿈은 일부러 생략했습니다).

점프문

break

실행 중인 반복문의 코드블럭을 빠져나올 때 쓰입니다.

continue

반복을 1회 건너뛸 때 사용합니다.

goto

goto 레이블;
.
.
레이블:

마지막 레이블 뒤는 세미콜론이 아닌 콜론입니다.
거의 사용하지 않습니다만 복잡한 루프를 한번에 뚫고 나올 경우 같은곳에 쓰입니다.

return
throw

위의 두개는 나중에 살펴보겠습니다.

댓글 없음:

댓글 쓰기