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
반응형