Perbedaan antara koleksi generik dan non-generik di C#

Perbedaan antara koleksi generik dan non-generik di C#

Perbedaan Utama - Generik VS Non-generik Koleksi di C#
 

Koleksi generik adalah kelas yang memberikan keamanan tipe tanpa harus berasal dari jenis koleksi dasar dan mengimplementasikan anggota spesifik jenis. Koleksi non-generik adalah kelas khusus untuk penyimpanan data dan pengambilan yang menyediakan dukungan untuk tumpukan, antrian, daftar dan hashtables. Itu perbedaan utama Antara koleksi generik dan non-generik di C# adalah itu Koleksi generik sangat diketik saat koleksi non-generik tidak diketik dengan kuat.

ISI

1. Ikhtisar dan Perbedaan Utama
2. Apa itu koleksi generik di C#
3. Apa itu koleksi non-generik di C#
4. Kesamaan antara koleksi generik dan non-generik di C#
5. Perbandingan berdampingan - koleksi generik vs non -generik dalam C# dalam bentuk tabel
6. Ringkasan

Apa itu koleksi generik di C#?

Koleksi non-generik seperti arraylist, antrian, tumpukan, dll. dapat menyimpan elemen jenis data yang berbeda. Saat mendapatkan item, programmer harus mengetikkannya ke tipe data yang benar. Lain, ini dapat menyebabkan pengecualian runtime. Kelas koleksi generik dapat digunakan untuk mengatasi masalah ini. Elemen toko koleksi generik secara internal dalam array dari jenisnya yang sebenarnya. Oleh karena itu, ketik casting tidak diperlukan.  Mereka dapat digunakan untuk menyimpan elemen dari jenis atau jenis yang ditentukan.  Beberapa kelas koleksi generik adalah daftar, kamus, sortedlist, hashset, antrian, stack .

Daftar generic berisi elemen dari jenis yang ditentukan. Itu dapat meningkatkan daftar yang sesuai saat menambahkan elemen. Ketika ada pernyataan sebagai berikut, semua elemen yang dapat disimpan ke List1 harus bilangan bulat,

Daftar Daftar1 - Daftar Baru ();

Kamus Generik di C# adalah kumpulan kunci dan nilai. Ketika ada pernyataan sebagai berikut, Dictionary Object1 dapat menyimpan tombol tipe int dan nilai tipe string.

Kamus kamus1 = kamus baru ();

Koleksi SortedList generik menyimpan pasangan kunci dan nilai dalam urutan kunci secara default. Di bawah contoh menyimpan kunci int int dan nilai jenis string.

Sortedlist s0 = new sortedlist ();

Itu adalah beberapa contoh untuk koleksi generik di C#. Koleksi ini dapat menyimpan beberapa nilai dari tipe data yang ditentukan. Jadi, mereka sangat diketik.

Apa itu koleksi non-generik di C#?

Array dapat digunakan untuk menyimpan beberapa elemen. Salah satu kelemahannya adalah dapat menyimpan elemen dari tipe data yang sama. Ada kelas di C# yang dapat digunakan untuk menyimpan banyak nilai atau objek yang dikenal sebagai koleksi. Koleksi membantu untuk menyimpan, memperbarui, menghapus, mencari, mengurutkan objek. Ukuran koleksi dapat ditingkatkan atau dikurangi secara dinamis.

Beberapa kelas koleksi non-generik adalah arraylist, sortedlist, stack, antrian dan hashtable. Setiap kelas koleksi mengimplementasikan antarmuka Ienumerable. Ini membantu untuk mengulangi elemen -elemen item dalam koleksi menggunakan loop foreach.

ArrayList adalah alternatif dari array. Jika ada array yang dapat menyimpan 10 elemen, itu tidak dapat menyimpan 20 elemen. Jika array diinisialisasi ke 10 elemen tetapi hanya menyimpan 5 elemen, maka sisanya tidak digunakan. Oleh karena itu, array diperbaiki. Dalam daftar array, dimungkinkan untuk menambah atau menghapus elemen tergantung pada indeks. Itu memungkinkan alokasi memori dinamis. Metode sortir dapat digunakan untuk mengurutkan elemen dalam urutan naik.

Hashtable digunakan untuk mewakili kumpulan pasangan nilai kunci. Mereka diatur berdasarkan kode hash dari kunci. Oleh karena itu, setiap elemen memiliki pasangan nilai kunci. Kuncinya dapat digunakan untuk mengakses elemen tertentu dalam koleksi. Tumpukan mewakili akses terakhir, pertama keluar ke item. Antrian digunakan untuk pertama -tama akses item pertama. Itulah beberapa koleksi non-generik yang didukung oleh C#. Koleksi ini dapat menyimpan elemen dari berbagai jenis.

Apa kesamaan antara koleksi generik dan non-generik di C#?

  • Koleksi generik dan non-generik dapat digunakan untuk menyimpan beberapa elemen di C#.

Apa perbedaan antara koleksi generik dan non-generik di C#?

Koleksi generik vs non-generik di C#

Koleksi generik adalah kelas yang memberikan keamanan tipe tanpa harus berasal dari jenis koleksi dasar dan mengimplementasikan anggota spesifik jenis. Koleksi non-generik adalah kelas khusus untuk penyimpanan data dan pengambilan yang menyediakan dukungan untuk tumpukan, antrian, daftar dan tabel hash.
 Namespace
Kelas koleksi generik ada dalam sistem. Koleksi. Generik Namespace. Kelas koleksi non -generic ada di sistem. Koleksi namespace.
Jenis
Koleksi generik sangat diketik. Koleksi non-generik tidak diketik dengan kuat.
 Menyimpan elemen
Elemen toko koleksi generik secara internal dalam array dari jenisnya yang sebenarnya. Elemen penyimpanan koleksi non-generik secara internal dalam array objek sehingga dapat menyimpan semua jenis data.

Ringkasan - Generik vs Non-generik Koleksi di C#

Artikel ini membahas perbedaan antara koleksi generik dan non-generik di C#. Perbedaan antara koleksi generik dan non-generik adalah bahwa koleksi generik sangat diketik sementara koleksi non-generik tidak diketik dengan kuat.

Referensi:

1.“Kapan Menggunakan Koleksi Generik.”Microsoft Docs. Tersedia disini 
2.“Koleksi generik di C#.”Tutorialsteacher.com. Tersedia disini  
3.Koleksi "C# Collection:" di C#, Tutorialsteacher.com. Tersedia disini  
4.“Koleksi C#.”, Tutorials Point, 19 Mar. 2018. Tersedia disini

Gambar milik:

1.'Logo C Sharp'by Microsoft, (domain publik) via Commons Wikimedia