이 가이드는 continue 문이 C#에서 어떻게 동작하는지 for, while, foreach, 중첩 루프 실전 예제로 설명합니다.
C#에서 continue 키워드는 현재 반복의 나머지 부분을 즉시 건너뛰고 다음 사이클로 점프하게 합니다. 실행되면 제어권이 루프의 테스트 조건(또는 for 루프의 업데이트 식)으로 이동한 뒤 다음 반복이 시작됩니다.
문법은 단순:
continue;
continue 들어가기 전 다음 기초 숙지:
for 루프
while 루프
if…else
예제 1: for 루프에서 continue 사용
using System;
namespace ContinueLoop {
class Program {
static void Main(string[] args) {
for (int i = 1; i <= 5; ++i) {
if (i == 3) {
continue;
}
Console.WriteLine(i);
}
}
}
}
출력
1
2
4
5
1부터 5까지 출력하지만 i == 3일 때 continue로 3을 건너뜁니다.
참고: continue는 if…else 같은 조건 로직과 짝지어질 때 가장 효과적.
예제 2: while 루프에서 continue 사용
using System;
namespace ContinueWhile {
class Program {
static void Main(string[] args) {
int i = 0;
while (i < 5) {
i++;
if (i == 3) {
continue;
}
Console.WriteLine(i);
}
}
}
}
출력
1
2
4
5
for 예제와 동일: 3번째 반복 건너뜀.
continue 문 동작 원리
중첩 루프에서 continue 사용
중첩 루프는 다차원 데이터 처리 시 흔합니다. continue를 내부 루프에 적용해 특정 내부 반복을 건너뛸 수 있습니다.
using System;
namespace ContinueNested {
class Program {
static void Main(string[] args) {
int sum = 0;
// 외부 루프
for (int i = 1; i <= 3; i++) {
// 내부 루프
for (int j = 1; j <= 3; j++) {
if (j == 2) {
continue;
}
Console.WriteLine("i = " + i + " j = " + j);
}
}
}
}
}
출력
i = 1 j = 1
i = 1 j = 3
i = 2 j = 1
i = 2 j = 3
i = 3 j = 1
i = 3 j = 3
내부 루프의 continue가 j == 2인 반복을 건너뛰어 해당 쌍이 출력되지 않습니다.