Collection 클래스

정의

Visual Basic Collection은 하나의 단위로 참조할 수 있는 정렬된 항목 집합입니다.A Visual Basic Collection is an ordered set of items that can be referred to as a unit.

public ref class Collection sealed : System::Collections::IList, System::Runtime::Serialization::IDeserializationCallback, System::Runtime::Serialization::ISerializable
[System.Serializable]
public sealed class Collection : System.Collections.IList, System.Runtime.Serialization.IDeserializationCallback, System.Runtime.Serialization.ISerializable
type Collection = class
    interface ICollection
    interface IList
    interface ISerializable
    interface IDeserializationCallback
Public NotInheritable Class Collection
Implements IDeserializationCallback, IList, ISerializable
상속
Collection
특성
구현

예제

다음 예제에서는 합니다 Collection 개체 names 및 대화 상자는 사용자 개체를 추가할 수 (이름) 컬렉션입니다.The following example creates the Collection object names and a dialog box with which a user can add objects (names) to the collection. 다음 컬렉션의 이름을 표시 하 고 마지막으로 삭제 하지 않고 컬렉션을 비웁니다는 Collection 개체 자체입니다.It then displays the names in the collection, and finally empties the collection without disposing of the Collection object itself.

선택이 작동 하는 방법을 보려면 합니다 클래스 추가 명령을 합니다 프로젝트 메뉴 라는 공용 변수를 선언 하 고 instanceName 모듈 수준에서 nameClass (형식 Public instanceName) 보유 하 각 인스턴스의 이름입니다.To see how this works, choose the Add Class command from the Project menu and declare a public variable called instanceName at the module level of nameClass (type Public instanceName) to hold the names of each instance. 으로 기본 이름을 그대로 nameClass합니다.Leave the default name as nameClass. 복사 하 고 다음 코드를 붙여 합니다 일반 다른 모듈의 다음 문을 사용 하 여 시작 classNamer 다른 프로시저에서 합니다.Copy and paste the following code into the General section of another module, and then start it with the statement classNamer in another procedure. (이 예제에서는 클래스를 지 원하는 호스트 애플리케이션 에서만 작동 합니다.)(This example works only with host applications that support classes.)

Public Class nameClass
    Public instanceName As String
End Class
Sub classNamer()
    ' Create a Visual Basic Collection object.
    Dim names As New Microsoft.VisualBasic.Collection()
    Dim key As Integer
    Dim msg As String
    Dim name As String
    Dim nameList As String = ""
    ' 1. Get names from the user to add to the collection.
    Do
        Dim inst As New nameClass()
        key += 1
        msg = "Please enter a name for this object." & vbCrLf &
              "Press Cancel to see names in collection."
        name = InputBox(msg, "Name the Collection items")
        inst.instanceName = name
        ' If user entered a name, add it to the collection.
        If inst.instanceName <> "" Then
            names.Add(inst, CStr(key))
        End If
    Loop Until name = ""
    ' 2. Create and display a list of names from the collection.
    For Each oneInst As nameClass In names
        nameList &= oneInst.instanceName & vbCrLf
    Next oneInst
    MsgBox(nameList, , "Instance Names in names Collection")
    ' 3. Remove elements from the collection without disposing of the collection.
    For count As Integer = 1 To names.Count
        names.Remove(1)
        ' Since Visual Basic collections are reindexed automatically, 
        ' remove the first member on each iteration.
    Next count
End Sub

설명

참고

가능 하면의 제네릭 컬렉션을 사용 해야 합니다 System.Collections.Generic 네임 스페이스 또는 System.Collections.Concurrent Visual Basic 대신 네임 스페이스 Collection합니다.Whenever possible, you should use the generic collections in the System.Collections.Generic namespace or the System.Collections.Concurrent namespace instead of a Visual Basic Collection. 자세한 내용은 컬렉션합니다.For more information, see Collections.

Visual Basic Collection 개체는 단일 개체로 관련된 그룹 항목을 참조 하는 편리한 방법을 제공 합니다.The Visual Basic Collection object provides a convenient way to refer to a related group of items as a single object. 항목 또는 요소의 컬렉션을 컬렉션에 존재 한다는 사실 때문만 관련 될 필요 합니다.The items, or elements, in a collection need only be related by the fact that they exist in the collection. 컬렉션의 요소는 동일한 데이터 형식을 공유할 필요가 없습니다.Elements of a collection do not have to share the same data type.

다음 예제와 같이 다른 개체를 만든 동일한 방식으로 컬렉션을 만들 수 있습니다.You can create a collection the same way you create other objects, as the following example illustrates.

Dim coll As New Microsoft.VisualBasic.Collection()  

컬렉션을 만든 후 다음 중 하나를 수행할 수 있습니다.Once you have created a collection, you can do any of the following:

  • 요소를 추가 합니다 Add 메서드.Add an element with the Add method.

  • 요소를 제거 합니다 Remove 메서드.Remove an element with the Remove method.

  • 모든 요소를 제거 합니다 Clear 메서드.Remove all elements with the Clear method.

  • 컬렉션을 포함 하는 여러 요소 수를 찾기는 Count 속성입니다.Find out how many elements the collection contains with the Count property.

  • 특정 요소를 사용 하 여 있는지 여부를 확인 합니다 Contains 메서드.Check whether a specific element is present with the Contains method.

  • 특정 요소를 사용 하 여 컬렉션에서 반환 된 Item[String] 속성입니다.Return a specific element from the collection with the Item[String] property.

  • 사용 하 여 전체 컬렉션을 반복 합니다 각각에 대 한 중... 다음 문을합니다.Iterate through the entire collection with the For Each...Next Statement.

    참고

    하지만 Visual Basic Collection 개체에 동일한 기능을 Collection 개체 Visual Basic 6.0에서 두 개의 COM 환경에서 상호 작용할 수 없습니다.Although the Visual Basic Collection object has functionality identical to the Collection object in Visual Basic 6.0, the two cannot interoperate in a COM environment.

    주의

    Visual Basic 반복 Collection 는 스레드로부터 안전한 프로시저가 아닙니다.Iterating through a Visual Basic Collection is not a thread-safe procedure. 컬렉션이 동기화 되는 경우에 다른 스레드에서 예외를 throw 하면 열거자는 컬렉션을 수정할 여전히 있습니다.Even if the collection is synchronized, other threads can still modify the collection, causing the enumerator to throw an exception. 을 열거 하는 동안 스레드로부터 안전을 보장 하기 위해 컬렉션을 잠금 또는 다른 스레드에서 변경에서 발생 되는 예외를 catch 합니다.To guarantee thread safety during enumeration, either lock the collection or catch the exceptions resulting from changes made by other threads. 프로그래밍 요소 잠금에 대 한 자세한 내용은 참조 하세요. SyncLock 문합니다.For more information on locking a programming element, see SyncLock Statement.

생성자

Collection()

새 Visual Basic Collection 개체를 만들어 반환합니다.Creates and returns a new Visual Basic Collection object.

속성

Count

컬렉션에 있는 요소 수를 가져옵니다.Gets the number of elements in a collection.

Item[Int32]

위치나 키를 기준으로 Collection 개체의 특정 요소를 가져옵니다.Gets a specific element of a Collection object either by position or by key.

Item[Object]

위치나 키를 기준으로 Collection 개체의 특정 요소를 가져옵니다.Gets a specific element of a Collection object either by position or by key.

Item[String]

위치나 키를 기준으로 Collection 개체의 특정 요소를 가져옵니다.Gets a specific element of a Collection object either by position or by key.

메서드

Add(Object, String, Object, Object)

Collection 개체에 요소를 추가합니다.Adds an element to a Collection object.

Clear()

Visual Basic Collection 개체의 모든 요소를 삭제합니다.Deletes all elements of a Visual Basic Collection object.

Contains(String)

Visual Basic Collection 개체에 특정 키를 가진 요소가 포함되어 있는지 여부를 나타내는 값을 반환합니다.Returns a value that indicates whether a Visual Basic Collection object contains an element with a specific key.

Equals(Object)

지정한 개체와 현재 개체가 같은지 여부를 확인합니다.Determines whether the specified object is equal to the current object.

(다음에서 상속됨 Object)
GetEnumerator()

컬렉션을 반복하는 열거자를 반환합니다.Returns an enumerator that iterates through the collection.

GetHashCode()

기본 해시 함수로 작동합니다.Serves as the default hash function.

(다음에서 상속됨 Object)
GetType()

현재 인스턴스의 Type을 가져옵니다.Gets the Type of the current instance.

(다음에서 상속됨 Object)
MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.Creates a shallow copy of the current Object.

(다음에서 상속됨 Object)
Remove(Int32)

Collection 개체에서 요소를 제거합니다.Removes an element from a Collection object.

Remove(String)

Collection 개체에서 요소를 제거합니다.Removes an element from a Collection object.

ToString()

현재 개체를 나타내는 문자열을 반환합니다.Returns a string that represents the current object.

(다음에서 상속됨 Object)

명시적 인터페이스 구현

ICollection.CopyTo(Array, Int32)

특정 Collection 인덱스부터 시작하여 Array의 요소를 Array에 복사합니다.Copies the elements of the Collection to an Array, starting at a particular Array index.

ICollection.Count

이 컬렉션의 항목 수를 가져옵니다.Gets the number of items in this collection.

ICollection.IsSynchronized

Collection 개체에 대한 액세스가 동기화되어 스레드로부터 안전하게 보호되는지 여부를 나타내는 값을 가져옵니다.Gets a value that indicates whether access to the Collection object is synchronized (thread-safe).

ICollection.SyncRoot

Collection 개체에 대한 액세스를 동기화하는 데 사용할 수 있는 개체를 가져옵니다.Gets an object that can be used to synchronize access to the Collection object.

IDeserializationCallback.OnDeserialization(Object)

전체 Collection 개체 그래프가 deserialize된 후 실행됩니다.Runs after the entire Collection object graph has been deserialized.

IEnumerable.GetEnumerator()

컬렉션을 반복하는 열거자를 가져옵니다.Gets an enumerator that iterates through the collection.

IList.Add(Object)
IList.Clear()

Collection 개체에서 항목을 모두 제거합니다.Removes all items from the Collection object.

IList.Contains(Object)

Collection 개체에 특정 값이 들어 있는지 여부를 확인합니다.Determines whether the Collection object contains a specific value.

IList.IndexOf(Object)

Collection 개체에서 특정 항목의 인덱스를 확인합니다.Determines the index of a specific item in the Collection object.

IList.Insert(Int32, Object)

Collection 개체의 지정한 인덱스에 항목을 삽입합니다.Inserts an item to the Collection object at the specified index.

IList.IsFixedSize

Collection 개체의 크기가 고정되어 있는지 여부를 나타내는 값을 가져옵니다.Gets a value that indicates whether the Collection object has a fixed size.

IList.IsReadOnly

Collection 개체가 있는지 여부를 나타내는 값을 가져옵니다.Gets a value that indicates whether the Collection object is.

IList.Item[Int32]

지정한 인덱스에 있는 요소를 가져오거나 설정합니다.Gets or sets the element at the specified index.

IList.Remove(Object)

Collection 개체에서 특정 개체가 처음 나타나는 부분을 제거합니다.Removes the first occurrence of a specific object from the Collection object.

IList.RemoveAt(Int32)

지정한 인덱스에 있는 Collection 개체 항목을 제거합니다.Removes the Collection object item at the specified index.

ISerializable.GetObjectData(SerializationInfo, StreamingContext)

Collection 개체를 serialize하는 데 필요한 데이터를 반환합니다.Returns the data needed to serialize the Collection object.

확장 메서드

Cast<TResult>(IEnumerable)

IEnumerable의 요소를 지정된 형식으로 캐스팅합니다.Casts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable)

지정된 형식에 따라 IEnumerable의 요소를 필터링합니다.Filters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable)

쿼리를 병렬화할 수 있도록 합니다.Enables parallelization of a query.

AsQueryable(IEnumerable)

IEnumerableIQueryable로 변환합니다.Converts an IEnumerable to an IQueryable.

적용 대상