다음을 통해 공유


방법: 컬렉션의 항목 추가, 삭제 및 검색

업데이트: 2007년 11월

Visual Basic의 Collection 클래스에는 항목을 추가, 삭제 및 검색하는 데 사용할 수 있는 기능이 기본적으로 포함되어 있습니다.

  • 항목을 새로 만들었거나 가져온 후 즉시 컬렉션에 추가할 수 있습니다(예: 새 고객).

  • 항목이 컬렉션에 더 이상 포함되지 않을 경우 컬렉션에서 해당 항목을 삭제할 수 있습니다(예: 직원이 회사를 그만둔 경우).

  • 컬렉션에서 항목을 검색하여 해당 내용을 편집할 수 있습니다(예: 학생의 전화 번호가 변경된 경우).

참고:

Collection 개체는 요소가 추가되거나 삭제되면 해당 숫자 인덱스 값을 자동으로 업데이트하므로 특정 요소의 숫자 인덱스가 자주 바뀔 수 있습니다. 따라서 숫자 인덱스 값을 저장한 다음 나중에 프로그램에서 이 값으로 동일한 요소를 검색할 수 없습니다. 이렇게 하려면 키를 사용하십시오.

컬렉션에 항목을 추가하려면

  • Add 메서드(Collection 개체)를 사용하고 항목을 해당 Key로 지정합니다.

    object.Add(Item, Key [, {Before | After}])

    예를 들어, 작업 순서의 ID 속성을 키로 사용하여 작업 순서 컬렉션에 작업 순서 개체를 추가하려면 다음과 같이 호출하면 됩니다.

    workOrders.Add(woNew, woNew.ID)
    

    이 호출에서는 ID 속성을 문자열로 가정합니다. 이 속성이 숫자(예: Long 정수)이면 다음과 같이 ToString 메서드를 사용하여 숫자를 Key 인수에 필요한 String 값으로 변환합니다.

    workOrders.Add(woNew, woNew.ID.ToString())
    

    키 사용은 선택적입니다. 키와 컬렉션의 개체를 연결하지 않으려면 키를 사용하지 않고 개체를 추가합니다.

    workOrders.Add(woNew)
    

    선택적인 Before 및 After 인수를 사용하여 정렬된 개체 컬렉션을 유지 관리할 수 있습니다. 추가될 항목은 컬렉션에서 각각 Before 또는 After 인수로 식별되는 항목의 앞 또는 뒤에 놓입니다. 예를 들어, Before가 1로 설정되어 있으면 Collection 개체의 인덱스는 1부터 시작하므로 컬렉션의 맨 앞에 항목이 삽입됩니다.

    workOrders.Add(woNew, woNew.ID, 1)
    

    마찬가지로 After 인수는 지정된 인덱스 뒤에 항목을 추가합니다. 다음 예제에서는 항목을 세 번째 요소로 추가합니다.

    workOrders.Add(woNew, woNew.ID,,2)
    

    Before 또는 After 중 하나에 대해서만 값을 지정할 수 있습니다.

컬렉션에서 항목을 삭제하려면

  • Remove 메서드(Collection 개체)를 사용하고 항목을 해당 Index나 Key로 지정합니다.

    object.Remove({Index | Key})

    Index 인수는 삭제할 항목의 위치를 나타내고, Key 인수는 컬렉션에 항목을 추가할 때 사용된 문자열을 나타냅니다. 컬렉션에서 세 번째 요소의 키가 "W017493"이면 다음 문 중 하나를 사용하여 해당 키를 삭제할 수 있습니다.

    workOrders.Remove(3)
    workOrders.Remove("W017493")
    

컬렉션에서 모든 항목을 삭제하려면

컬렉션에서 항목을 검색하려면

  1. Item 속성(Collection 개체)을 사용하고 항목을 해당 Index나 Key로 지정합니다.

    variable = object.Item({Index | Key})

    Remove 메서드와 마찬가지로, Index 인수는 컬렉션에서의 항목 위치를 나타내고 Key 인수는 항목을 추가할 때 사용된 문자열을 나타냅니다. Remove 메서드와 동일한 예제를 사용할 경우 다음 문 중 하나를 사용하면 컬렉션의 세 번째 요소가 검색됩니다.

    woCurrent = workOrders.Item(3)
    woCurrent = workOrders.Item("W017493")
    
    참고:

    숫자를 키로 사용하는 경우에는 키를 Add 또는 Remove 메서드나 Item 속성으로 전달하기 전에 ToString 메서드를 사용하여 숫자를 문자열로 변환해야 합니다. Visual Basic의 Collection 개체에서는 항상 숫자를 키 문자열이 아닌 인덱스로 간주합니다.

  2. 컴파일 타임에 키를 알고 있으면 키를 물음표나 괄호로 묶는 대신 사전 액세스 연산자(!)를 사용하여 컬렉션의 요소에 액세스할 수 있습니다. 앞의 호출은 다음과 같이 작성할 수 있습니다.

    woCurrent = workOrders!W017493
    

참고 항목

개념

Visual Basic 컬렉션 클래스

배열 대신 컬렉션 사용

Visual Basic의 컬렉션

참조

Collection 개체 멤버

Add 메서드(Collection 개체)

Remove 메서드(Collection 개체)

Clear 메서드(Collection 개체)

Item 속성(Collection 개체)