Bagikan melalui


Collection Kelas

Definisi

Visual Basic Collection adalah sekumpulan item yang diurutkan yang dapat disebut sebagai unit.

public ref class Collection sealed : System::Collections::IList
public ref class Collection sealed : System::Collections::IList, System::Runtime::Serialization::IDeserializationCallback, System::Runtime::Serialization::ISerializable
public sealed class Collection : System.Collections.IList
[System.Serializable]
public sealed class Collection : System.Collections.IList, System.Runtime.Serialization.IDeserializationCallback, System.Runtime.Serialization.ISerializable
type Collection = class
    interface ICollection
    interface IEnumerable
    interface IList
type Collection = class
    interface ICollection
    interface IList
[<System.Serializable>]
type Collection = class
    interface ICollection
    interface IList
    interface ISerializable
    interface IDeserializationCallback
Public NotInheritable Class Collection
Implements IList
Public NotInheritable Class Collection
Implements IDeserializationCallback, IList, ISerializable
Warisan
Collection
Atribut
Penerapan

Contoh

Contoh berikut membuat Collection objek names dan kotak dialog tempat pengguna dapat menambahkan objek (nama) ke koleksi. Kemudian menampilkan nama-nama dalam koleksi, dan akhirnya mengosingkan koleksi tanpa membuang objek itu Collection sendiri.

Untuk melihat cara kerjanya, pilih perintah Tambahkan Kelas dari menu Proyek dan deklarasikan variabel publik yang disebut instanceName pada tingkat modul (jenis nameClassPublic instanceName) untuk menyimpan nama setiap instans. Biarkan nama default sebagai nameClass. Salin dan tempel kode berikut ke bagian Umum modul lain, lalu mulai dengan pernyataan classNamer di prosedur lain. (Contoh ini hanya berfungsi dengan aplikasi host yang mendukung kelas.)

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

Keterangan

Catatan

Jika memungkinkan, Anda harus menggunakan koleksi generik di System.Collections.Generic namespace atau System.Collections.Concurrent namespace, bukan Visual Basic Collection. Untuk informasi selengkapnya, lihat Koleksi - C# atau Koleksi - Visual Basic.

Objek Visual Basic Collection menyediakan cara mudah untuk merujuk ke sekelompok item terkait sebagai objek tunggal. Item, atau elemen, dalam koleksi hanya perlu dikaitkan dengan fakta bahwa item tersebut ada dalam koleksi. Elemen koleksi tidak harus berbagi jenis data yang sama.

Anda dapat membuat koleksi dengan cara yang sama seperti Anda membuat objek lain, seperti yang diilustrasikan contoh berikut.

Dim coll As New Microsoft.VisualBasic.Collection()  

Setelah membuat koleksi, Anda dapat melakukan salah satu hal berikut ini:

  • Tambahkan elemen dengan Add metode .

  • Hapus elemen dengan Remove metode .

  • Hapus semua elemen dengan Clear metode .

  • Cari tahu berapa banyak elemen yang dikandung koleksi dengan Count properti .

  • Periksa apakah elemen tertentu ada dengan Contains metode .

  • Mengembalikan elemen tertentu dari koleksi dengan Item[] properti .

  • Iterasi melalui seluruh koleksi dengan Untuk Masing-masing ... Pernyataan Berikutnya.

    Catatan

    Meskipun objek Visual Basic Collection memiliki fungsionalitas yang identik dengan Collection objek di Visual Basic 6.0, keduanya tidak dapat beroperasi di lingkungan COM.

    Perhatian

    Iterasi melalui Visual Basic Collection bukanlah prosedur yang aman untuk utas. Bahkan jika koleksi disinkronkan, utas lain masih dapat memodifikasi koleksi, menyebabkan enumerator melemparkan pengecualian. Untuk menjamin keamanan utas selama enumerasi, kunci koleksi atau tangkap pengecualian yang dihasilkan dari perubahan yang dibuat oleh utas lain. Untuk informasi selengkapnya tentang mengunci elemen pemrograman, lihat Pernyataan SyncLock.

Konstruktor

Collection()

Membuat dan mengembalikan objek Visual Basic Collection baru.

Properti

Count

Mendapatkan jumlah elemen dalam koleksi.

Item[Int32]

Mendapatkan elemen Collection objek tertentu baik berdasarkan posisi atau dengan kunci.

Item[Object]

Mendapatkan elemen Collection objek tertentu baik berdasarkan posisi atau dengan kunci.

Item[String]

Mendapatkan elemen Collection objek tertentu baik berdasarkan posisi atau dengan kunci.

Metode

Add(Object, String, Object, Object)

Menambahkan elemen ke Collection objek.

Clear()

Menghapus semua elemen objek Visual Basic Collection .

Contains(String)

Mengembalikan nilai yang menunjukkan apakah objek Visual Basic Collection berisi elemen dengan kunci tertentu.

Equals(Object)

Menentukan apakah objek yang ditentukan sama dengan objek saat ini.

(Diperoleh dari Object)
GetEnumerator()

Mengembalikan enumerator yang melakukan iterasi melalui koleksi.

GetHashCode()

Berfungsi sebagai fungsi hash default.

(Diperoleh dari Object)
GetType()

Mendapatkan dari instans Type saat ini.

(Diperoleh dari Object)
MemberwiseClone()

Membuat salinan dangkal dari saat ini Object.

(Diperoleh dari Object)
Remove(Int32)

Menghapus elemen dari Collection objek.

Remove(String)

Menghapus elemen dari Collection objek.

ToString()

Mengembalikan string yang mewakili objek saat ini.

(Diperoleh dari Object)

Implementasi Antarmuka Eksplisit

ICollection.CopyTo(Array, Int32)

Menyalin elemen Collection ke Array, dimulai dari indeks tertentu Array .

ICollection.Count

Mendapatkan jumlah item dalam koleksi ini.

ICollection.IsSynchronized

Mendapatkan nilai yang menunjukkan apakah akses ke objek disinkronkan Collection (thread-safe).

ICollection.SyncRoot

Mendapatkan objek yang dapat digunakan untuk menyinkronkan akses ke Collection objek.

IDeserializationCallback.OnDeserialization(Object)

Berjalan setelah seluruh Collection grafik objek dideserialisasi.

IEnumerable.GetEnumerator()

Mendapatkan enumerator yang melakukan iterasi melalui koleksi.

IList.Add(Object)

Menambahkan item ke koleksi.

IList.Clear()

Menghapus semua item dari Collection objek.

IList.Contains(Object)

Menentukan apakah Collection objek berisi nilai tertentu.

IList.IndexOf(Object)

Menentukan indeks item tertentu dalam Collection objek.

IList.Insert(Int32, Object)

Sisipkan item ke Collection objek pada indeks yang ditentukan.

IList.IsFixedSize

Mendapatkan nilai yang menunjukkan apakah Collection objek memiliki ukuran tetap.

IList.IsReadOnly

Mendapatkan nilai yang menunjukkan apakah objek tersebut Collection .

IList.Item[Int32]

Mendapatkan atau mengatur elemen pada indeks yang ditentukan.

IList.Remove(Object)

Menghapus kemunculan pertama objek tertentu dari Collection objek .

IList.RemoveAt(Int32)

Collection Menghapus item objek pada indeks yang ditentukan.

ISerializable.GetObjectData(SerializationInfo, StreamingContext)

Mengembalikan data yang diperlukan untuk membuat serial objek Collection .

Metode Ekstensi

Cast<TResult>(IEnumerable)

Mentransmisikan elemen dari ke IEnumerable jenis yang ditentukan.

OfType<TResult>(IEnumerable)

Memfilter elemen berdasarkan IEnumerable jenis yang ditentukan.

AsParallel(IEnumerable)

Mengaktifkan paralelisasi kueri.

AsQueryable(IEnumerable)

Mengonversi menjadi IEnumerableIQueryable.

Berlaku untuk