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

C# - 반복문 본문

DEV/.Net

C# - 반복문

F.R.I.D.A.Y. 2021. 5. 27. 16:44
반응형

 for, foreach, while, do-while. C++과는 달리 기본적으로 foreach를 문법 차원에서 제공한다.


 

for 반복문

for 반복문

 사용법은 C++과 동일하다

for(int i = 0; i < 10; ++i){
	// commands
}

 대개 횟수가 정해진 경우에 사용하는 반복문.

 

foreach

 C++과는 달리 항목의 수에 맞게 하나씩 값을 뽑아서 사용할 수 있도록 만들어져 있다. 약간 C++의 이터레이터와 비슷하다.

int[] arr = {1,2,3,4,5,6,7};

for(int val in arr){
	System.Console.WriteLine("{0}", val);
}

 이 방식의 이점은, for 구문으로 작성할 때와는 달리 코드 자체가 굉장히 간편하다는 점이다. 단적인 예로 다중 차원 배열의 값을 출력할 때 for 구문을 이용하면 다중 for문을 작성해야하고, 그만큼 코드가 길어지고 어지럽혀지는 문제가 있는데, foreach는 각 항목의 값을 가져와 단일 변수에 넣어서 처리하기 때문에 훨씬 간결하다.

 단적인 예로 다음을 예로 들 수 있다.

            int[,] arr1 = new int[,] { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } };

           
            for(int i = 0; i < arr1.GetLength(0); ++i)
            {
                for(int k = 0; k < arr1.GetLength(1); ++k)
                {
                    System.Console.Write("{0} ", arr1[i,k]);
                }
                
            }

 

 

 

 

 

 이렇게 구성하면 이차원 배열에 접근하기 위해 이중 for 구문을 형성해야하지만, foreach 구문을 이용하면 아래처럼 변경할 수 있다.

int[,] arr1 = new int[,] { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } };

           
            foreach(int val in arr1)
            {
                System.Console.Write("{0} ", val);
            }

 

while

 C++과 동일하다.

while(expression){

}

 

do-while

이 또한 C++과 동일하게 작동한다.

do{

}while(expression);

 


 여기에서의 핵심은 foreach 구문이 C#에서 새로 생겼다는 점일 듯 하다.

 

# index

728x90
반응형

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

C# - namespace(네임스페이스)  (0) 2021.05.28
C# - 예외 처리  (0) 2021.05.27
C# - 조건문  (0) 2021.05.27
C# - Nullable Type  (0) 2021.05.27
C# - enum(열거형)  (0) 2021.05.27
Comments