루프(loop) 문장을 사용하면 하나의 문장 또는 여러 문장으로 이루어진 그룹을 여러 번 반복해서 실행할 수 있습니다. C#에서 기본적으로 지원하는 루프는 다음과 같습니다.
| 번호 | 루프 유형 및 설명 |
|---|---|
| 1 | while 루프 주어진 조건이 참(true)인 동안 문장 또는 문장 그룹을 계속 반복 실행합니다. 루프 본문을 실행하기 전에 조건을 먼저 검사하므로, 처음부터 조건이 거짓이라면 본문이 한 번도 실행되지 않을 수 있습니다. |
| 2 | for 루프 일련의 문장을 정해진 횟수만큼 반복 실행합니다. 초기화, 조건 검사, 증감식을 한 줄에 작성할 수 있어 루프 변수를 관리하는 코드를 간결하게 만들어 줍니다. |
| 3 | do...while 루프 while 문과 비슷하지만, 조건을 루프 본문의 끝에서 검사한다는 점이 다릅니다. 따라서 조건과 관계없이 루프 본문이 최소 한 번은 반드시 실행됩니다. |
이 외에도 C#에서는 컬렉션이나 배열의 요소를 순회할 때 매우 편리한 foreach 루프를 사용할 수 있습니다. 아래 예제를 통해 확인해 보겠습니다.
예제
using System;
namespace Demo {
class Program {
static void Main(string[] args) {
int[] n = new int[10]; /* n은 정수 10개를 담는 배열입니다 */
/* 배열 n의 요소들을 초기화합니다 */
for (int i = 0; i < 10; i++) {
n[i] = i + 100;
}
/* 각 배열 요소의 값을 출력합니다 */
foreach (int j in n) {
int i = j - 100;
Console.WriteLine("Element[{0}] = {1}", i, j);
}
Console.ReadKey();
}
}
}실행 결과
Element[0] = 100 Element[1] = 101 Element[2] = 102 Element[3] = 103 Element[4] = 104 Element[5] = 105 Element[6] = 106 Element[7] = 107 Element[8] = 108 Element[9] = 109
위 예제에서 볼 수 있듯이, for 루프는 인덱스를 직접 제어해야 할 때 유용하고, foreach 루프는 배열이나 컬렉션의 모든 요소를 순서대로 처리할 때 코드가 더 깔끔하고 안전해집니다. 상황에 맞는 루프를 선택하면 가독성과 유지보수성이 크게 향상됩니다.