다음을 통해 공유


방법: 개체 컬렉션 만들기(Visual Basic)

모든 개체를 만들 때와 마찬가지로 개체를 보관할 변수를 선언한 다음, 컬렉션 개체를 만들어 해당 변수에 대입합니다.

컬렉션 개체의 경우 Collection 클래스 또는 .NET Framework 컬렉션 클래스를 사용할 수 있습니다. 특히 System.Collections.Generic 네임스페이스의 클래스 중 하나를 사용하여 제네릭 컬렉션을 만들 수 있습니다. 제네릭 컬렉션은 컬렉션 항목의 데이터 형식이 모두 같을 때 유용합니다. 제네릭 컬렉션을 사용하면 필요한 데이터 형식만 추가되도록 하여 강력한 형식 지정이 적용됩니다. 자세한 내용은 방법: 형식 안전 컬렉션 정의(Visual Basic)를 참조하십시오.

컬렉션 개체가 만들어지면 항목을 추가 및 제거하고 컬렉션의 항목에 액세스할 수 있습니다.

다음은 컬렉션을 만드는 방법에 대한 두 가지 예제입니다. 각 컬렉션은 String 항목을 보관하고 각 항목과 String 키를 연결합니다. 처음 두 절차에서는 Visual Basic 컬렉션 클래스를 사용하여 컬렉션을 만듭니다. 마지막 두 절차에서는 .NET Framework 제네릭 컬렉션 클래스를 사용하여 컬렉션을 만듭니다.

Visual Basic 컬렉션 클래스를 사용하여 컬렉션을 만들려면

  1. 다음 예제와 같이 Visual Basic Collection 변수를 선언하고 만듭니다.

    Dim sampleVisualBasicColl As New Microsoft.VisualBasic.Collection()
    

    sampleVisualBasicColl의 컬렉션에는 모든 데이터 형식의 항목을 사용할 수 있습니다.

  2. Add 메서드를 사용하여 컬렉션에 요소를 추가합니다. 다음 예제에서는 네 개의 String 요소를 만들어 컬렉션에 추가합니다. 각각의 새 요소에 대한 키로 고유한 String 값을 만들고 이 값을 Add 메서드에 전달합니다.

    Dim item1, item2, item3, item4 As String
    item1 = "Items"
    item2 = "In"
    item3 = "A"
    item4 = "Collection"
    sampleVisualBasicColl.Add(item1, "firstkey")
    sampleVisualBasicColl.Add(item2, "secondkey")
    sampleVisualBasicColl.Add(item3, "thirdkey")
    sampleVisualBasicColl.Add(item4, "fourthkey")
    

    Key 인수는 Visual Basic 컬렉션에서 선택적 요소입니다.

  3. 컬렉션에서 요소를 제거하려면 해당 위치 인덱스나 선택적 키로 요소를 식별하는 Remove 메서드를 사용합니다. 다음은 이에 대한 예입니다.

    ' Remove the first element of the Visual Basic collection.
    sampleVisualBasicColl.Remove(1)
    ' Remove the element with the key "secondkey".
    sampleVisualBasicColl.Remove("secondkey")
    

    Visual Basic Collection에서 요소를 제거하면 인덱스 값이 1부터 Count 속성의 값까지 다시 매겨집니다.

For Each...Next를 사용하여 Visual Basic 컬렉션의 요소를 처리하려면

  1. 컬렉션에 저장되어 있는 형식의 변수를 선언합니다. 위의 예제의 경우, 다음 예제에서와 같이 형식이 String인 변수를 선언합니다.

    ' Insert code from the preceding example.
    Dim aString As String
    
  2. For Each...Next 문(Visual Basic)을 사용하여 컬렉션의 각 요소를 검사합니다. 다음 예제에서는 특정 문자열을 검색하고 있는 경우 표시합니다.

    For Each aString in sampleVisualBasicColl
        If aString = "Collection" Then
            MsgBox(aString)
        End If
    Next aString
    

제네릭 컬렉션 클래스를 사용하여 컬렉션을 만들려면

  1. 다음 예제와 같이 .NET Framework System.Collections.Generic.Dictionary<TKey, TValue> 변수를 선언하고 만듭니다.

    Dim sampleGenericColl As New System.Collections.Generic.Dictionary(Of String, String)
    

    sampleGenericColl 변수는 형식이 String인 항목과 키만 허용하는 형식 안전 컬렉션을 보관합니다.

  2. Dictionary<TKey, TValue>.Add 메서드를 사용하여 컬렉션에 요소를 추가합니다. 다음 예제에서는 네 개의 String 요소를 만들어 컬렉션에 추가합니다. 각각의 새 요소에 대한 키로 고유한 String 값을 만들고 이 값을 Add 메서드에 전달합니다.

    Dim item1, item2, item3, item4 As String
    item1 = "Items"
    item2 = "In"
    item3 = "A"
    item4 = "Collection"
    sampleGenericColl.Add("firstkey", item1)
    sampleGenericColl.Add("secondkey", item2)
    sampleGenericColl.Add("thirdkey", item3)
    sampleGenericColl.Add("fourthkey", item4)
    

    이 제네릭 컬렉션에는 Key 인수가 필요합니다.

  3. 컬렉션에서 요소를 제거하려면 IDictionary<TKey, TValue>.Remove 메서드를 사용합니다. 제거할 요소를 식별하도록 키를 제공해야 합니다. 다음은 이에 대한 예입니다.

    If Not sampleGenericColl.Remove("thirdkey")
        ' Insert code to handle "thirdkey" not found in collection.
    End If
    

    다음 절차에서 보여 주듯이 For Each...Next 문을 사용하여 컬렉션의 요소를 반복하고 처리할 수 있습니다.

For Each...Next를 사용하여 제네릭 컬렉션의 요소를 처리하려면

  1. 컬렉션에 저장되어 있는 형식의 변수를 선언합니다. 위의 예제의 경우, 다음 예제에서와 같이 형식이 String인 변수를 선언합니다.

    ' Insert code from the preceding example.
    Dim aPair As KeyValuePair(Of String, String)
    
  2. For Each...Next 문(Visual Basic)을 사용하여 컬렉션의 각 요소를 검사합니다. 다음 예제에서는 특정 문자열을 검색하고 있는 경우 표시합니다.

    For Each aPair In sampleGenericColl
        If aPair.Value = "Items" Then
            MsgBox(aPair.Key & " -- " & aPair.Value)
        End If
    Next aPair
    

참고 항목

작업

방법: 개체 배열 만들기(Visual Basic)

참조

Collection

System.Collections

System.Collections.Generic

System.Collections.Specialized