Isi kandungan:
Video: Subnetting Mastery - Using the Cheat Sheet - Part 3 of 7 2024
Oleh Bill Sempf, Chuck Sphar, Stephen R. Davis
Jika ada masalah dengannya. Rangka kerja NET dari perspektif C # Programmer, hanya ada terlalu banyak perkara yang baik. Banyak kelas mempunyai begitu banyak sifat dan peristiwa yang sukar untuk diingat apa barangan yang paling banyak digunakan. Inilah krim tanaman di Koleksi, Konfigurasi, dan kelas Async, semuanya disusun untuk rujukan mudah.
Menjaga Barang dalam Kelas C # Koleksi
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 koleksi 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. |
Mengkonfigurasi C #
Sebilangan ruang nama direka untuk mengkonfigurasi aplikasi yang ditulis dalam mana-mana. Bahasa BERSIH, seperti C #, VB. BERSIH, atau mana-mana orang lain. Objek di dalamnya adalah, untuk mengatakan paling sedikit, agak sukar untuk mengemudi. Konfigurasi dalam aplikasi NET berlaku dalam a. fail konfigurasi. Fail diformat XML ini mempunyai nod, dan keseluruhan membunuh nod spesifik projek dalam. Mendapatkan rujukan kepada konfigurasi memerlukan panggilan ke OpenExeConfiguration. Sistem
. Konfigurasi. Config Config = ConfigurationManager. OpenExeConfiguration ();
Setelah itu selesai, mendapatkan rujukan kepada seksyen agak mudah. Kaedah GetSection hanya mengambil rentetan nama nod, dan kerana fail konfigurasi hanya teks, anda boleh merebutnya pada bila-bila masa.
var seksyenName = & ldquo; Apa-apa sahajalah! & rdquo;; Sistem. Konfigurasi. Seksyen AppSettingsSection = (Konfigurasi Sistem. AppSettingsSection) config. GetSection (sectionName);
Anda boleh menambah bahagian ke fail konfigurasi menggunakan alat manipulasi XML dalam rangka kerja. Anda boleh menggunakan kumpulan pratetap pada bahagian untuk fungsi yang sepadan.
Bahagian | Deskripsi |
---|---|
Permulaan | Menerangkan. Versi BERSIH untuk digunakan. |
Runtime | Senarai. Unsur-unsur NET untuk mengikat ke eksekusi. |
Rangkaian | Menjelaskan tetapan rangkaian proksi dan lain-lain. |
Kriptografi | Tempat untuk menyimpan nilai yang boleh diakses merujuk kepada sumber kripto |
Konfigurasi | Bahagian yang paling banyak digunakan. Di sinilah anda menyimpan bahagian tersuai dari fail konfigurasi. |
Trace / Debug | Dua tetapan yang membolehkan anda menyediakan pengesanan dan pembalakan. |
Tetapan Aplikasi (appsettings) | Aplikasi merangkumi perkara seperti rentetan sambungan pangkalan data. |
Tetapan Web (penetapan web) | ASP. Butiran khusus BERSIH. |
Pemrograman Asynchronously
Banyak Windows 8 adalah tentang menjadi pantas dan cair. Cara untuk melakukan ini adalah dengan menggunakan kaedah asynchronous dalam panggilan balik dari fungsinya yang panjang.Masalah dengan ini adalah bahawa dalam C #, cara terbaik untuk melaksanakan kaedah asynchronous adalah dengan threading. Tetapi anda tidak boleh selalu bergantung pada apabila item dari operasi threading akan kembali. Terdapat beberapa kawalan jika anda mahu pengguna berasa seperti ada kawalan.
Masukkan async dan tunggu. Async digunakan untuk mengisytiharkan fungsi asynchronous, yang mengembalikan Tugas. Semua kaedah async mesti mengandungi sekurang-kurangnya satu ekspresi menunggu. menunggu memberitahu C # untuk mengambil kod rujukan dan menjalankannya dalam benang terpisah daripada benang pengguna. Jadual memecahkan bahagian tak segerak bahasa yang baru.
Penyataan | Deskripsi |
---|---|
async | Pengubah suai yang menunjukkan pengkompil bahawa fungsi ia
ubah adalah tidak segerak. |
menunggu | Pengendali yang menggantung pelaksanaan metode yang mengandung
sampai tugas selesai ditunggu. |
Petugas | Merupakan operasi tak segerak. |
Petugas | Operasi asynchronous yang mengembalikan nilai. |
Petugas. ContinueWith | Satu kesinambungan yang dimulakan selepas operasi dalam Tugas
selesai. |