C# 루프: for vs while - 각각 사용 시기 (실제 예제 포함)
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
웹 개발, 앱 개발, 개발 툴
대상자
C# 초보 개발자 및 중급자
- 난이도: 중간 (루프 선택 기준 이해 필요)
핵심 요약
for
루프: 반복 횟수가 정확히 알고 있을 때 사용 (예: 배열 처리, 고정된 횟수)for (int i = 0; i < 10; i++)
while
루프: 동적 조건이 변경될 때 사용 (예: 파일 끝까지 읽기, 사용자 입력 대기)while ((line = reader.ReadLine()) != null)
- 코드 가독성 향상:
for
은 정확한 반복 범위를,while
은 조건 변경에 적합한 구조를 강조
섹션별 세부 요약
1. `for` 루프 사용 시기
- 반복 횟수가 정해진 경우 (예: 배열 요소 처리)
int[] scores = { 95, 87, 92, 78, 88 };
for (int i = 0; i < scores.Length; i++)
- 예시: 5x5 별표 그리기
for (int row = 0; row < 5; row++)
for (int col = 0; col < 5; col++)
- 장점: 반복 범위가 명확하고, 초기화/조건/증가식이 하나의 블록에 포함
2. `while` 루프 사용 시기
- 반복 횟수가 미리 알 수 없는 경우 (예: 파일 끝까지 읽기, 사용자 입력 대기)
StreamReader reader = new StreamReader("data.txt");
while ((line = reader.ReadLine()) != null)
- 예시: 비밀번호 입력 유효성 검사
do { ... } while (password.Length < 8);
- 장점: 조건 변화에 유연하게 대응 가능
3. 실무 예제 비교
- 정적 데이터 처리:
for
루프 사용 (예:CountChar
함수) for (int i = 0; i < text.Length; i++)
- 동적 조건:
while
루프 사용 (예: 네트워크 요청 재시도) while (!connectionEstablished)
- 오류 예방:
for
루프는 증가식이 자동으로 포함되어, 무한 루프 오류 방지
4. 실무 팁
for
루프: 집합 처리, 정확한 반복 횟수가 필요한 경우foreach (var item in collection)
while
루프: 외부 조건 변화에 의존하는 경우while (condition)
- 구조적 명확성:
while
은 조건이 명확한 경우,for
은 반복 범위가 명확한 경우
결론
for
는 정확한 반복 횟수가 필요하고,while
은 조건 변경에 적합- 실무 적용 팁:
for
는 집합 처리,while
은 외부 조건 변화에 사용 - 예제 참고:
for
는CountChar
함수,while
은 파일 끝까지 읽기 시 사용 - 결론: 루프 선택은 코드 가독성과 유지보수성을 고려한 의도에 따라 결정되어야 함