다음을 통해 공유


자세히 보기: 컬렉션에서 For Each...Next 루프 사용

업데이트: 2007년 11월

이 단원에서는 For Each...Next 루프를 사용하여 컬렉션을 순환하는 방법을 배웁니다.

이전 단원에서는 For...Next 루프를 사용하여 지정된 횟수만큼 코드 블록을 실행하는 방법을 배웠습니다. Visual Basic 컬렉션 개체는 코드 블록을 지정한 횟수만큼 실행하는 대신 컬렉션의 각 요소에 대해 코드 블록을 실행하는 데 사용할 수 있는 For Each...Next라는 특수한 루프 형식을 지원합니다.

For Each...Next 루프 추가

이전 단원에서는 팀 컬렉션에 있는 Players 개체의 Position 속성 값을 ComboBox 컨트롤에 수동으로 추가했습니다. 이 작업은 예제에서는 무리 없이 사용할 수 있었지만 새로운 선수를 추가할 때마다 ComboBox 컨트롤의 Items 컬렉션을 업데이트해야 하므로 최선의 방법은 아닙니다.

보다 나은 방법은 For Each...Next 루프로 team 컬렉션을 순환하여 Position 값을 Items 컬렉션에 추가하는 것입니다.

For...Next 루프에서는 카운터 변수를 먼저 선언해야 하며 For Each...Next 루프의 경우에는 개체 변수를 먼저 선언해야 합니다. 다음 코드는 For Each...Next 루프를 보여 줍니다.

Dim player As Persons.Players
For Each player In team
    ComboBox1.Items.Add(player.Position)
Next

이 경우 가지고 있는 Players의 수에 관계없이 팀 컬렉션의 각 Players 개체에 대해 ComboBox1.Items.Add 메서드가 한 번씩 실행되고 Position 값이 목록에 추가됩니다.

실습

컬렉션을 순환하려면

  1. 이전 단원의 Persons 프로젝트를 엽니다. 프로젝트를 끝내지 못했으면 이전 단원 컬렉션을 사용하여 여러 개체 관리로 가서 절차를 완료합니다.

  2. 솔루션 탐색기에서 PlayerTest 프로젝트의 Form1.vb 노드를 선택한 다음 보기 메뉴에서 디자이너를 선택합니다.

  3. ComboBox 컨트롤을 선택합니다. 속성 창에서 Items 속성을 선택한 다음 … 단추를 클릭합니다.

  4. 문자열 컬렉션 편집기에서 네 개의 기존 항목을 삭제한 다음 확인을 클릭합니다.

  5. 폼을 두 번 클릭하여 코드 편집기를 엽니다.

  6. 코드 편집기에서 다음을 선언 섹션에 추가합니다(team 선언 아래).

    Dim player As Persons.Players
    For Each player In team
        ComboBox1.Items.Add(player.Position)
    Next
    
  7. F5 키를 눌러 프로그램을 실행합니다. 드롭다운 목록에서 위치를 선택합니다. 해당 위치의 선수가 메시지 상자에 표시됩니다.

다음 단계

이 단원에서는 컬렉션에서 For Each...Next 루프를 사용했습니다. 다음 단원에서는 사용자 정의 컨트롤이라는 또 다른 형식의 개체를 만듭니다.

다음 단원: 표시되는 개체: 사용자 정의 컨트롤 처음 만들기

참고 항목

작업

컬렉션을 사용하여 여러 개체 관리

참조

For Each...Next 문(Visual Basic)

기타 리소스

개체를 사용한 프로그래밍: 클래스 사용