Perbezaan Antara Koleksi Generik dan Bukan Generik dalam C #

Perbezaan Utama - Generik vs Bukan Generik Pengumpulan di C #
 

Pengumpulan Generik adalah kelas yang menyediakan keselamatan jenis tanpa perlu memperolehi jenis koleksi asas dan melaksanakan ahli khusus jenis. Koleksi non-generik adalah kelas khusus untuk penyimpanan data dan pengambilan semula yang menyediakan sokongan untuk susunan, beratur, senarai dan hashtables. The perbezaan utama antara Pengumpulan Generik dan Bukan Generik dalam C # ialah Koleksi Generik sangat ditaip sementara Koleksi Non-Generik tidak begitu ditaip.

KANDUNGAN

1. Gambaran Keseluruhan dan Perbezaan Utama
2. Apakah Koleksi Generik dalam C #
3. Apakah Koleksi Bukan Generik dalam C #
4. Kesamaan Antara Koleksi Generik dan Bukan Generik dalam C #
5. Side by Side Perbandingan - Generik vs Bukan Generik Koleksi dalam C # dalam Borang Tabular
6. Ringkasan

Apakah Koleksi Generik dalam C #?

Koleksi bukan generik seperti ArrayList, Queue, Stack, dan lain-lain boleh menyimpan unsur-unsur jenis data yang berbeza. Apabila mendapatkan item, programmer harus menaipnya ke jenis data yang betul. Selain itu, ia boleh menyebabkan pengecualian runtime. Kelas koleksi generik boleh digunakan untuk mengatasi masalah ini. Koleksi generik menyimpan elemen secara dalaman dalam tatasusunan jenis sebenar mereka. Oleh itu, jenis pemutus tidak diperlukan. Mereka boleh digunakan untuk menyimpan elemen jenis atau jenis yang ditentukan. Beberapa kelas koleksi Generik adalah Senarai, Kamus, SortedList, HashSet, Barisan, Stack .

GenericList mengandungi unsur-unsur jenis yang ditentukan. Ia boleh menambah senarai dengan sewajarnya apabila menambah elemen. Apabila terdapat pernyataan seperti berikut, semua elemen yang boleh disimpan ke list1 haruslah bilangan bulat,

Senarai senarai1 - Senarai baru ();

Kamus Generik dalam C # adalah koleksi kunci dan nilai. Apabila terdapat pernyataan seperti berikut, kamus objek boleh menyimpan kekunci jenis int dan nilai jenis rentetan.

Kamus kamus1 = Kamus baru ();

Satu koleksi Generic SortedList menyimpan kunci dan pasangan nilai dalam urutan menaik kunci secara lalai. Contoh berikut menyimpan kunci jenis int dan nilai jenis rentetan.

SortedList s0 = SortedList baru ();

Mereka adalah beberapa contoh untuk Koleksi Generik dalam C #. Koleksi ini boleh menyimpan pelbagai nilai jenis data yang ditentukan. Jadi, mereka sangat ditaip.

Apakah Koleksi Bukan Generik dalam C #?

Array boleh digunakan untuk menyimpan pelbagai elemen. Satu kelemahan ialah ia boleh menyimpan unsur-unsur jenis data yang sama. Terdapat kelas dalam 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 boleh ditingkatkan atau menurun secara dinamik.

Beberapa kelas Pengumpulan Bukan generik ialah ArrayList, SortedList, Stack, Barisan dan HashTable. Setiap kelas koleksi melaksanakan antara muka IEnumerable. Ia membantu untuk melewati unsur-unsur item dalam koleksi menggunakan gelung foreach.

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

HashTable digunakan untuk mewakili kumpulan pasangan nilai utama. Mereka dianjurkan berdasarkan hashCode kunci. Oleh itu, setiap elemen mempunyai pasangan nilai utama. Kuncinya boleh digunakan untuk mengakses elemen tertentu dalam koleksi. The Stack mewakili akses masuk, pertama keluar ke item. The Queue digunakan untuk pertama sekali mengakses item pertama. Ini adalah beberapa Koleksi Bukan generik yang disokong oleh C #. Koleksi ini boleh menyimpan unsur-unsur jenis yang berbeza.

Apakah Kesamaan Antara Pengumpulan Generik dan Bukan Generik dalam C #?

  • Kedua-dua Koleksi Generik dan Bukan Generik boleh digunakan untuk menyimpan pelbagai unsur dalam C #.

Apakah Perbezaan Antara Pengumpulan Generik dan Bukan Generik dalam C #?

Koleksi Generik vs Bukan Generik dalam C #

Pengumpulan Generik adalah kelas yang menyediakan keselamatan jenis tanpa perlu memperolehi jenis koleksi asas dan melaksanakan ahli khusus jenis. Koleksi non-generik adalah kelas khusus untuk penyimpanan dan pengambilan data yang menyediakan sokongan untuk susunan, beratur, senarai dan jadual hash.
 Ruang nama
Kelas Koleksi Generik berada dalam Sistem. Koleksi. Ruang nama generik. Kelas Koleksi Non-Generik berada dalam Sistem. Ruang nama koleksi.
Taipkan
Pengumpulan Generik sangat ditaip. Koleksi Non-Generik tidak ditaip dengan kuat.
 Menyimpan Unsur
Koleksi Generik menyimpan elemen secara dalaman dalam tatasusunan jenis sebenar mereka. Koleksi Non-generik menyimpan unsur-unsur secara dalaman dalam susunan objek supaya dapat menyimpan semua jenis data.

Ringkasan - Generik vs Bukan Generik Pengumpulan di C #

Artikel ini membincangkan perbezaan antara Pengumpulan Generik dan Bukan Generik dalam C #. Perbezaan antara Pengumpulan Generik dan Bukan Generik adalah bahawa Koleksi Generik sangat ditaip sementara Koleksi Bukan generik tidak ditaip dengan kuat.

Rujukan:

1. "Bila Menggunakan Koleksi Generik." Dokumen Microsoft. Terdapat di sini 
2. "Pengumpulan Generik dalam C #." TutorialsTeacher.com. Terdapat di sini  
3. "Koleksi C #:" Koleksi dalam C #, TutorialsTeacher.com. Terdapat di sini  
4. "C # Koleksi.", Point Tutorial, 19 Mac 2018. Boleh didapati di sini

Image Courtesy:

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