Bagikan melalui


Jenis koleksi yang umum digunakan

Jenis koleksi mewakili berbagai cara untuk mengumpulkan data, seperti tabel hash, antrean, tumpukan, tas, kamus, dan daftar.

Semua koleksi didasarkan pada antarmukaICollection atau ICollection<T>, baik secara langsung atau tidak langsung. IList dan IDictionary serta rekan generik mereka semuanya berasal dari dua antarmuka ini.

Dalam koleksi berdasarkan IList atau langsung pada ICollection, setiap elemen hanya berisi nilai. Jenis-jenisnya meliputi:

Dalam koleksi berdasarkan antarmuka IDictionary, setiap elemen berisi kunci dan nilai. Jenis-jenisnya meliputi:

Kelas KeyedCollection<TKey,TItem> ini unik karena merupakan daftar nilai dengan kunci yang disematkan dalam nilai. Sebagai hasilnya, ia berperilaku seperti daftar dan seperti kamus.

Saat Anda memerlukan akses koleksi multi-utas yang efisien, gunakan koleksi generik di namespace System.Collections.Concurrent.

Kelas Queue dan Queue<T> menyediakan daftar first-in-first-out. Kelas Stack dan Stack<T> menyediakan daftar last-in-first-out.

Penjenisan kuat

Koleksi generik adalah solusi terbaik untuk penjenisan yang kuat. Misalnya, menambahkan elemen dari jenis apa pun selain Int32 ke koleksi List<Int32> menyebabkan kesalahan waktu kompilasi. Namun, jika bahasa Anda tidak mendukung generik, namespace System.Collections menyertakan kelas dasar abstrak yang dapat Anda perluas untuk membuat kelas koleksi yang dijeniskan dengan kuat. Kelas dasar ini meliputi:

Bagaimana koleksi bervariasi

Koleksi bervariasi dalam cara mereka menyimpan, mengurutkan, dan membandingkan elemen, dan bagaimana mereka melakukan pencarian.

Kelas SortedList dan kelas generik SortedList<TKey,TValue> menyediakan versi kelas yang diurutkan dari kelas Hashtable dan kelas generik Dictionary<TKey,TValue>.

Semua koleksi menggunakan indeks berbasis nol kecuali Array, yang memungkinkan larik yang tidak berbasis nol.

Anda dapat mengakses elemen SortedList atauKeyedCollection<TKey,TItem> dengan kunci atau indeks elemen. Anda hanya dapat mengakses elemen Hashtable atau Dictionary<TKey,TValue> dengan kunci elemen.

Gunakan LINQ dengan jenis koleksi

Fitur LINQ ke Objek menyediakan pola umum untuk mengakses objek dalam memori dari jenis apa pun yang mengimplementasikan IEnumerable atau IEnumerable<T>. Kueri LINQ memiliki beberapa manfaat dibandingkan konstruksi standar seperti perulangan foreach:

  • Mereka ringkas dan lebih mudah dimengerti.
  • Mereka dapat memfilter, memesan, dan mengelompokkan data.
  • Mereka dapat meningkatkan performa.

Untuk informasi selengkapnya, lihat LINQ ke Objek (C#), LINQ ke Objek (Visual Basic), dan LINQ Paralel (PLINQ).

Judul Deskripsi
Koleksi dan Struktur Data Membahas berbagai jenis koleksi yang tersedia di .NET, termasuk tumpukan, antrean, daftar, larik, dan kamus.
Jenis Koleksi Hashtable dan Kamus Menjelaskan fitur jenis kamus berbasis hash generik dan nongenerik.
Jenis Koleksi yang Diurutkan Menjelaskan kelas yang menyediakan fungsi pengurutan untuk daftar dan set.
Generik Menjelaskan fitur generik, termasuk koleksi, delegasi, dan antarmuka generik yang disediakan oleh .NET. Menyediakan tautan untuk menampilkan dokumentasi untuk C#, Visual Basic, dan Visual C ++, dan untuk teknologi pendukung seperti refleksi.

Referensi

System.Collections

System.Collections.Generic

System.Collections.ICollection

System.Collections.Generic.ICollection<T>

System.Collections.IList

System.Collections.Generic.IList<T>

System.Collections.IDictionary

System.Collections.Generic.IDictionary<TKey,TValue>