Perbezaan antara koleksi generik dan bukan generik di C#

Perbezaan antara koleksi generik dan bukan generik di C#

Perbezaan utama - generik vs Bukan generik Koleksi di C#
 

Koleksi Generik adalah kelas yang menyediakan keselamatan jenis tanpa perlu memperoleh dari jenis koleksi asas dan melaksanakan ahli khusus jenis. Koleksi bukan generik adalah kelas khusus untuk penyimpanan data dan pengambilan semula yang menyediakan sokongan untuk susunan, beratur, senarai dan hashtables. The Perbezaan utama antara koleksi generik dan bukan generik di C# ialah koleksi generik sangat ditaip sementara koleksi bukan generik tidak ditaip dengan kuat.

Kandungan

1. Gambaran Keseluruhan dan Perbezaan Utama
2. Apa itu koleksi generik di C#
3. Apakah koleksi bukan generik di C#
4. Persamaan antara koleksi generik dan bukan generik di C#
5. Perbandingan sampingan - koleksi non -generik vs generik dalam C# dalam bentuk jadual
6. Ringkasan

Apa itu koleksi generik di C#?

Koleksi bukan generik seperti ArrayList, Baris, Stack, dan lain-lain. boleh menyimpan unsur -unsur jenis data yang berbeza. Apabila mendapatkan item, pengaturcara harus menaipnya ke jenis data yang betul. Lain, ia boleh menyebabkan pengecualian runtime. Kelas koleksi generik dapat digunakan untuk mengatasi masalah ini. Koleksi Generik menyimpan elemen secara dalaman dalam tatasusunan jenis sebenar mereka. Oleh itu, pemutus jenis tidak diperlukan.  Mereka boleh digunakan untuk menyimpan elemen jenis atau jenis yang ditentukan.  Beberapa kelas koleksi generik adalah senarai, kamus, sortedlist, hashset, giliran, timbunan .

Senarai generik mengandungi unsur -unsur jenis yang ditentukan. Ia dapat meningkatkan senarai dengan sewajarnya apabila menambahkan elemen. Apabila terdapat pernyataan seperti berikut, semua elemen yang boleh disimpan ke List1 mestilah bilangan bulat,

Senarai Senarai1 - Senarai Baru ();

Kamus generik di C# adalah koleksi kunci dan nilai. Apabila terdapat pernyataan seperti berikut, Objek Kamus1 boleh menyimpan Kekunci Jenis Int dan Nilai Jenis Rentetan.

Kamus kamus1 = kamus baru ();

Koleksi SortedList Generik menyimpan kunci dan pasangan nilai dalam urutan menaik kunci secara lalai. Di bawah Contoh kedai kunci jenis int dan nilai jenis rentetan.

SortedList s0 = sortedList baru ();

Itu adalah beberapa contoh untuk koleksi generik di C#. Koleksi ini boleh menyimpan pelbagai nilai jenis data yang ditentukan. Jadi, mereka sangat ditaip.

Apakah koleksi bukan generik di C#?

Array boleh digunakan untuk menyimpan pelbagai elemen. Satu kelemahan ialah ia dapat menyimpan unsur -unsur jenis data yang sama. Terdapat kelas di C# yang boleh digunakan untuk menyimpan banyak nilai atau objek yang dikenali sebagai koleksi. Koleksi membantu menyimpan, mengemas kini, memadam, mencari, menyusun objek. Saiz koleksi dapat ditingkatkan atau menurun secara dinamik.

Beberapa kelas koleksi bukan generik adalah ArrayList, SortedList, Stack, Gilir dan Hashtable. Setiap kelas koleksi melaksanakan antara muka iEnumerable. Ia membantu meleleh melalui unsur -unsur item dalam koleksi menggunakan gelung foreach.

ArrayList adalah alternatif kepada pelbagai. Sekiranya terdapat array yang boleh menyimpan 10 elemen, ia tidak dapat menyimpan 20 elemen. Sekiranya array dimulakan hingga 10 elemen tetapi hanya menyimpan 5 elemen, maka selebihnya tidak digunakan. Oleh itu, array ditetapkan. Dalam arraylist, ada kemungkinan untuk menambah atau mengalih keluar unsur -unsur bergantung pada indeks. Ia membolehkan peruntukan memori dinamik. Kaedah jenis boleh digunakan untuk menyusun unsur -unsur dalam urutan menaik.

Hashtable digunakan untuk mewakili koleksi pasangan nilai utama. Mereka dianjurkan berdasarkan hashcode dari kunci. Oleh itu, setiap elemen mempunyai pasangan nilai utama. Kunci boleh digunakan untuk mengakses elemen tertentu dalam koleksi. Tumpukan mewakili yang terakhir, pertama keluar akses ke item. Giliran digunakan untuk pertama kali dalam akses item pertama. Ini adalah beberapa koleksi bukan generik yang disokong oleh C#. Koleksi ini dapat menyimpan unsur -unsur yang berbeza.

Apakah persamaan antara koleksi generik dan bukan generik dalam C#?

  • Kedua-dua koleksi generik dan bukan generik boleh digunakan untuk menyimpan pelbagai elemen di C#.

Apakah perbezaan antara koleksi generik dan bukan generik di C#?

Koleksi non-generik vs generik di C#

Koleksi Generik adalah kelas yang menyediakan keselamatan jenis tanpa perlu memperoleh dari jenis koleksi asas dan melaksanakan ahli khusus jenis. Koleksi bukan generik adalah kelas khusus untuk penyimpanan data dan pengambilan semula yang menyediakan sokongan untuk susunan, beratur, senarai dan jadual hash.
 Ruang nama
Kelas pengumpulan generik ada dalam sistem. Koleksi. Ruang nama generik. Kelas pengumpulan bukan generik ada dalam sistem. Koleksi Namespace.
Jenis
Koleksi generik sangat ditaip. Koleksi bukan generik tidak ditaip dengan kuat.
 Menyimpan elemen
Koleksi generik menyimpan elemen secara dalaman dalam tatasusunan jenis sebenar mereka. Unsur-unsur menyimpan koleksi bukan generik secara dalaman dalam tatasusunan objek supaya dapat menyimpan apa-apa jenis data.

Ringkasan - Generik vs Bukan generik Koleksi di C#

Artikel ini membincangkan perbezaan antara koleksi generik dan bukan generik di C#. Perbezaan antara koleksi generik dan bukan generik adalah bahawa koleksi generik sangat ditaip sementara koleksi bukan generik tidak ditaip dengan kuat.

Rujukan:

1."Bilakah menggunakan koleksi generik."Dokumen Microsoft. Terdapat di sini 
2."Koleksi Generik di C#."TutorialSteacher.com. Terdapat di sini  
3.Koleksi "C#:" di C#, TutorialSteacher.com. Terdapat di sini  
4."C# koleksi.", Titik tutorial, 19 mar. 2018. Terdapat di sini

Ihsan gambar:

1.'Logo C Sharp'by Microsoft, (Domain Awam) melalui Commons Wikimedia