TIL 25.01.24 - foreach 문

강진규·2025년 1월 24일

Today I Learned

목록 보기
1/34
post-thumbnail

foreach 문

컬렉션(배열, 리스트 등) 내의 모든 요소에 대해 반복 작업을 수행할 때 사용하는 반복문
반복문을 간결하게 작성하도록 해주고 컬렉션을 순회하면서 각 요소에 대해 자동으로 처리

int[] arr = new int[5] { 1, 2, 3, 4, 5 };

foreach (int a in arr)
{
    Console.WriteLine(a);
}

언뜻보면 for 문과 비슷하게 생겼는데, 훨씬 간결하다.
()안에 타입과 변수명을 선언하고 in 뒤에 순회할 컬렉션을 선언해주면 된다.

아래와 같이 실행된다.


foreach 문의 특징

  • 컬렉션을 변경하지 않고 요소를 순회하기 때문에
    인덱스를 사용한 접근 방식보다 안전하고 오류를 방지할 수 있다.
  • 내부에서 컬렉션의 요소를 수정할 수 없다.
    그래서 값을 변경하려면 for 문을 사용해야 한다.
  • 컬렉션의 요소를 자동으로 하나씩 꺼내어 처리해서 인덱스를 신경 쓸 필요가 없다.

foreach 문의 단점

  • 컬렉션의 수정이 불가능하다. 읽기만 가능하다.
  • 인덱스 값을 제공하지 않기 때문에 반복문 내에서 요소의 위치나 인덱스를 알 수 없다.

혼자서 퀘스트를 하다 배열에 관한 것 때문에 검색하던 중 foreah문을 처음 접했다.
퀘스트 작성 당시에는 이게 뭔지도 모르는데 쓰기는 좀 그래서 for문을 사용하여 작성했다.

그래서 제출을 다하고 찾아보니까 요소를 순차적으로 처리할 때 쓰는 훨씬 간결한 for문 이였다.
물론 읽기 전용이라 수정이 불가하다는 단점이 있지만, 확실히 간결하다는 것이 장점인 것 같다.

컬렉션을 수정하지 않고 순차적으로 처리할 때는 foreach문을
수정하거나 인덱스가 필요할 때는 for문을 사용하는게 좋은 것 같다.

0개의 댓글