코딩 공부/Unity C#

foreach 루프

recordmastd 2024. 7. 5. 00:46

foreach 문은 C#에서 컬렉션(예: 배열, 리스트 등)의 요소를 순회(iterate)하면서 각 요소에 대해 작업을 수행할 때 사용되는 제어 구조

 

oreach 문은 일반적으로 컬렉션의 요소를 하나씩 처리하는 가장 간단하고 직관적인 방법

 

 

사용예시

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

foreach (int number in numbers)
{
    Console.WriteLine(number);
}

 

주의사항:

  • 요소 변경 불가: foreach 문 내부에서 컬렉션의 요소를 변경할 수 없습니다. 변경이 필요한 경우 for 문을 사용하는 것이 좋습니다.
  • 컬렉션 수정 불가: foreach 문 내부에서 컬렉션을 추가하거나 제거하는 등의 구조적 변경을 할 수 없습니다. 이러한 변경은 컬렉션을 순회하는 동안 오류를 발생시킬 수 있습니다.
  • 읽기 전용 컬렉션: foreach 문은 기본적으로 컬렉션을 읽기 전용으로 처리합니다. 요소를 수정하려면 별도의 로직이 필요합니다.

foreach와 for의 비교

  • foreach:
    • 간단하고 안전합니다.
    • 인덱스 관리가 필요하지 않으며, 오류 발생 가능성이 적습니다.
    • 요소를 변경할 수 없으며, 컬렉션의 구조적 변경도 불가능합니다.
  • for:
    • 요소의 인덱스를 사용할 수 있어 유연성이 있습니다.
    • 요소를 변경하거나 컬렉션을 수정할 수 있습니다.
    • 인덱스를 직접 관리해야 하므로, 코드가 복잡해질 수 있습니다.
    •  

요약

  • foreach 문은 컬렉션의 요소를 순회하는데 적합하며, 간결하고 직관적입니다.
  • 요소의 변경이 필요하지 않은 경우 사용하면 좋습니다.
  • 컬렉션을 수정하거나 특정 인덱스에 접근해야 하는 경우에는 for 문을 사용하는 것이 더 적합할 수 있습니다.