for (C#)

Shy·2025년 3월 13일

C#

목록 보기
15/27

for

for문은 C#의 반복문 중 하나로, 특정 조건을 만족할 때까지 코드를 반복하여 실행하는 구조이다. switch와 대조적으로, 반복 횟수가 정해져 있을 때 주로 사용한다.


for문 기본 구조

for (초기식; 조건식; 증감식)
{
    // 반복할 코드
}
  • 초기식 → 반복 변수 선언 및 초기화 (한 번만 실행됨)
  • 조건식 → true일 때만 반복 실행 (거짓이 되면 반복 종료)
  • 증감식 → 반복 변수를 증가/감소하여 조건을 만족할 수 있도록 조정

예제

for (int i = 0; i < 5; i++)
{
    Console.WriteLine($"반복 횟수: {i}");
}
// 반복 횟수: 0
// 반복 횟수: 1
// 반복 횟수: 2
// 반복 횟수: 3
// 반복 횟수: 4

for문 활용

1. for문으로 배열 순회

int[] numbers = { 10, 20, 30, 40, 50 };

for (int i = 0; i < numbers.Length; i++)
{
    Console.WriteLine(numbers[i]);
}
/*
10
20
30
40
50
*/

numbers.Length를 사용하여 배열 크기만큼 반복한다.

2. for문에서 break 사용 (반복 중단)

for (int i = 1; i <= 10; i++)
{
    if (i == 5)
    {
        Console.WriteLine("반복 중단!");
        break;
    }
    Console.WriteLine(i);
}
/*
1
2
3
4
반복 중단!
*/

i == 5일 때 break; 실행 → 반복문 즉시 종료한다.

for문에서 continue 사용(특정 반복 건너뛰기)

for (int i = 1; i <= 5; i++)
{
    if (i == 3)
    {
        Console.WriteLine("건너뛰기!");
        continue; // 다음 반복으로 건너뛰기
    }
    Console.WriteLine(i);
}
/*
1
2
건너뛰기!
4
5
*/

i == 3이면 continue; 실행 → Console.WriteLine(i);를 실행하지 않고 다음 반복으로 이동한다.


중첩 for문 (Nested for Loop)

  • for문 안에 또 다른 for문을 포함할 수 있다.
  • 다차원 배열 출력, 표 출력, 중첩된 연산 수행 시 유용하다.

예제 (구구단)

for (int i = 2; i <= 9; i++)
{
    for (int j = 1; j <= 9; j++)
    {
        Console.WriteLine($"{i} x {j} = {i * j}");
    }
    Console.WriteLine(); // 줄 바꿈
}
/*
2 x 1 = 2
2 x 2 = 4
...
9 x 8 = 72
9 x 9 = 81
*/
  • 첫 번째 for 문(i) → 구구단의 단수를 반복
  • 두 번째 for 문(j) → 곱하는 숫자를 반복

for문에서 var 사용

  • 반복 변수를 int 대신 var로 선언 가능.
for (var i = 0; i < 5; i++)
{
    Console.WriteLine(i);
}

C#에서는 위처럼 var를 사용할 수 있지만, 명확한 타입을 지정하는 것이 좋다.


for문에서 foreach로 변환 가능

  • 배열이나 리스트를 순회할 때는 foreach로 가독성 있게 깔끔하게 만들 수 있다.
// 기존 for문
int[] numbers = { 10, 20, 30, 40, 50 };

for (int i = 0; i < numbers.Length; i++)
{
    Console.WriteLine(numbers[i]);
}
// 더 간결한 foreach
foreach (var number in numbers)
{
    Console.WriteLine(number);
}
  • 배열을 순회할 때 foreach를 사용하면 가독성이 더 좋다.
  • 하지만 index가 필요한 경우 for 문을 사용한다.

for문을 LINQ로 변환 가능하다.

C#에서는 LINQ(Language-Intergrated Query)를 사용하여 for문을 더 깔끔하게 변환 가능하다.

// 기존 for문
int[] numbers = { 1, 2, 3, 4, 5 };

for (int i = 0; i < numbers.Length; i++)
{
    Console.WriteLine(numbers[i] * 2);
}
// LINQ 활용
int[] numbers = { 1, 2, 3, 4, 5 };

numbers.ToList().ForEach(n => Console.WriteLine(n * 2));
  • 한 줄로 리스트 요소를 순회하며 값을 변경 가능하다!
  • 하지만 가독성을 위해 너무 복잡한 연산은 for 문을 사용하는 것이 좋다.

정리

기본 for 문일정 횟수 반복for (int i = 0; i < 5; i++) { ... }
배열 순회배열 요소 출력for (int i = 0; i < arr.Length; i++)
break 사용특정 조건에서 반복 중단if (x == 5) break;
continue 사용특정 조건에서 다음 반복으로 건너뜀if (x == 3) continue;
중첩 for2중 루프 활용for (int i=0; i<3; i++) { for (int j=0; j<3; j++) }
foreach 변환배열 순회 대체 가능foreach (var item in arr) { ... }
LINQ 활용for 문을 간결하게 변환arr.ToList().ForEach(x => Console.WriteLine(x));
  • 반복 횟수가 정해진 경우 → for 문 사용
  • 배열, 리스트를 순회할 때 → foreach 사용
  • 불필요한 조건 검사 없이 한 줄로 처리하고 싶다면 → LINQ 활용
  • break와 continue로 반복을 제어할 수 있음
  • 중첩 for 문을 활용하면 2D 배열, 테이블, 구구단 등의 반복 작업 가능
profile
신입사원...

0개의 댓글