Isi kandungan:
Video: A Show of Scrutiny | Critical Role | Campaign 2, Episode 2 2024
Bahagian C # 5. 0 All-in-One Untuk Menipu Sheet Sheet
Banyak pembolehubah adalah untuk menyimpan satu perkara, seperti nombor atau ayat. Objek boleh mempunyai banyak sifat, menyimpan banyak maklumat mengenai konsep tunggal. Kadang-kadang, anda hanya perlu menjejaki senarai besar barangan. Di sinilah kelas pengumpulan masuk.
Kelas pengumpulan dalam C # adalah hebat kerana mereka dapat membantu anda menyimpan senarai item, atau sekumpulan kunci dan nilai, dan menyediakan alat carian, alat proksi, dan alat penyelenggaraan umum secara percuma. Itu lebih mudah daripada menulis kaedah 'dua jenis pelanggan dengan nama terakhir' pada bulan ini.
C # mempunyai kelas pengumpulan asas, kelas pengumpulan generik, dan kelas koleksi serentak. Ini yang terakhir adalah untuk operasi selamat thread dalam persekitaran multiprosesor. Semua kelas pengumpulan ini berguna jika anda tahu di mana dan bila menggunakannya.
Koleksi tetap
Koleksi biasa menyimpan barangan yang tidak diingini untuk anda. Sekiranya anda tidak tahu apa yang akan anda simpan, koleksi tetap adalah untuk anda. Kebanyakan segalanya dalam kelas ini disimpan sebagai Objek.
ArrayList | Description |
---|---|
ArrayList | Ini hanya koleksi objek yang saiznya
pada awalnya diisytiharkan dan saiznya meningkat sebagaimana diperlukan (tetapi tidak berkurangan). |
HashTable | Hanya jadual dua kunci kunci dan nilai, di mana pasangan
dikaitkan untuk menyusun semula. |
Beratur | Senarai item pertama, terakhir keluar (FIFO). Hebat untuk menyimpan barangan proses
. |
Stack | Seperti Baris, tetapi Last In First Out (LIFO). |
Koleksi generik
C # 2. 0 memperkenalkan koleksi generik. Koleksi generik membenarkan anda menyimpan koleksi item yang ditaip, seperti yang diisytiharkan semasa runtime.
Kelas | Deskripsi |
---|---|
Kamus | Hanya HastTable, kecuali ditaip, jadi anda tidak perlu
objek Objek, Objek. TKey dan TValue adalah jenis, jadi anda boleh menyimpan senarai jika anda ingin . |
Senarai | Ini adalah Array baru. Ini senarai item yang ditaip. Dengan
jauh, kelas pengumpulan yang paling biasa digunakan. Ia adalah lalai. Jika anda memerlukan senarai orang, itu Senarai. |
Baris | Sama dengan Gilir yang tidak diingini, tetapi, dengan baik, ditaip! |
SortedList | Kamus mengagumkan ini mengimplementasikan IComparable supaya dapat
diurutkan. |
Stack | Sama seperti Stack untyped, kecuali ditaip. |
Kelas koleksi serentak
Akhirnya, kelas Concurrent memastikan bahawa objek yang anda simpan dalam senarai boleh didapati di mana-mana ruang memori, tidak kira apa pemproses.Ia lebih besar daripada yang anda fikirkan.
Class | Deskripsi |
---|---|
BlockingCollection | Ia adalah kelas selamat thread yang akan menghalang satu thread
dari mengubah bidang yang dapat diakses oleh thread lain. Perkara-perkara cemerlang, benar-benar. |
ConcurrentDictionary |
Bercakap dengan cemerlang, set pasangan kunci / nilai ini boleh
diakses oleh pelbagai thread. |
ConcurrentQueue | Ingat bahawa tumpukan FIFO? Yeah. Yang satu ini generik DAN thread
selamat. |
ConcurrentStack | Koleksi teratur berguna. Mereka
bermanfaat untuk ingatan, untuk satu perkara. Bagaimanapun, yang satu ini adalah LIFO dan thread-safe, juga. |