Bagaimana cara menggunakan corak padanan di C#?
Pencocokan corak dalam C# adalah ciri yang digunakan untuk memeriksa objek terhadap corak dan mengekstrak maklumat dengan ringkas. 1. Corak jenis membenarkan pemeriksaan dan pemutus dalam satu langkah, seperti yang ditunjukkan dengan jika (nilai adalah string str). 2. Corak malar membandingkan nilai -nilai terhadap pemalar secara langsung, seperti memeriksa jika (input adalah null). 3. Suis Ekspresi dengan corak memudahkan logik, ditunjukkan oleh suis bentuk yang mengembalikan rentetan yang berbeza berdasarkan jenis bentuk. 4. Corak rekursif sepadan dengan struktur bersarang, seperti orang yang memeriksa adalah {name: "alice", alamat: {city: "wonderland"}}. Secara keseluruhan, pencocokan corak meningkatkan kebolehbacaan kod dan ekspresi apabila digunakan dengan sewajarnya.
Pencocokan corak dalam C# adalah ciri yang kuat yang membolehkan anda menyemak objek terhadap corak dan mengekstrak maklumat daripadanya dengan cara yang ringkas dan mudah dibaca. Ia amat berguna apabila bekerja dengan pelbagai jenis, keadaan, atau struktur.

Berikut adalah beberapa cara praktikal yang anda boleh menggunakan corak yang sesuai dalam kod C# anda:
1. Jenis Corak - Semak dan Cast dalam Satu Langkah
Salah satu penggunaan corak yang paling biasa adalah untuk memeriksa jenis objek dan membuangnya pada masa yang sama.

jika (nilai adalah string str) { Console.WriteLine ($ "Ia adalah rentetan: {str.toupper ()}"); }
Ini menggantikan kod lama seperti:
jika (nilai adalah rentetan) { string str = (string) nilai; // ... }
Ini lebih bersih dan mengelakkan mengulangi nama pembolehubah atau melakukan pelakon yang berasingan.

2. Corak yang berterusan - sepadan dengan nilai tertentu
Anda boleh menggunakan padanan corak untuk membandingkan nilai -nilai terhadap pemalar secara langsung dalam keadaan.
jika (input adalah batal) { Console.WriteLine ("Input adalah NULL"); }
Atau dengan nilai angka:
Tukar (nombor) { Kes 0: Console.WriteLine ("Zero"); rehat; kes var n ketika n> 0: Console.WriteLine ("positif"); rehat; }
Ini boleh membuat logik bersyarat lebih mudah dibaca, terutamanya apabila digabungkan dengan ekspresi switch
.
3. Tukar ungkapan dengan corak
C# 8 Memperkenalkan ekspresi suis, yang berfungsi dengan baik dengan corak yang sesuai untuk memudahkan logik.
Hasil rentetan = suis bentuk { Rectangle r => $ "Rectangle: {r.width} x {r.height}", Circle C => $ "Circle: Radius {C.Radius}", null => "tiada bentuk", _ => "Bentuk tidak diketahui" };
Ini menggantikan pernyataan switch
yang lebih panjang dan menjadikan kod lebih ekspresif. _
Adalah corak buang yang sepadan dengan apa -apa yang tidak dilindungi di atas.
4. Corak Rekursif - Padankan Struktur Bersarang
Dalam C# 9 dan kemudian, anda boleh menggunakan corak rekursif untuk memadankan sifat bersarang. Contohnya:
jika (orang adalah {name: "alice", alamat: {city: "wonderland"}}) { Console.WriteLine ("Ditemui Alice dari Wonderland"); }
Ini berguna apabila anda ingin menyemak data yang sangat bersarang tanpa menulis pelbagai syarat if
keadaan.
Beberapa perkara yang perlu diingat:
- Pencocokan corak berfungsi dengan baik dengan
is
,switch
, dan dalam beberapa kes dengan ekspresiswitch
. - Anda boleh menggabungkan corak dengan
when
klausa untuk keadaan yang lebih kompleks. - Elakkan terlalu banyak dalam logik yang sangat bersarang di mana kebolehbacaan mungkin menderita.
Pencocokan corak dalam C# membantu anda menulis kod bersih, lebih ekspresif sebaik sahaja anda terbiasa dengan sintaks. Ia tidak terlalu kompleks, tetapi ia mengambil sedikit amalan untuk mengetahui kapan dan cara menggunakannya dengan berkesan.
Atas ialah kandungan terperinci Bagaimana cara menggunakan corak padanan di C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Stock Market GPT
Penyelidikan pelaburan dikuasakan AI untuk keputusan yang lebih bijak

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Jawapannya ialah membaca AppSettings.json menggunakan microsoft.extensions.configuration. 1. Buat appsettings.json dan tetapkan sifat salinan; 2. Pasang pakej microsoft.extensions.configuration.json; 3. Muatkan konfigurasi dengan konfigurasiBuilder; 4. Baca nilai melalui pengindeks atau getConnectionString; 5. Adalah disyorkan untuk menggunakan kelas konfigurasi yang kuat mengikat atau mengikat.

HttpClient harus digunakan semula untuk masa yang lama dan bukannya dicipta dengan kerap. Adalah disyorkan untuk menggunakan pengurusan suntikan IhttpClientFactory untuk mengelakkan keletihan soket; Sekiranya tidak ada DI, gunakan contoh statik untuk memastikan kitaran hayat yang munasabah.

Usestringforminimal, statictextoperations; useStringbuilderfrequentmodificationsationloopsorlarge-scaleconcatenationstoimproveperformanceandreducemoryAllocation.

Memindahkan monomer NET ke microservices harus mengelakkan penulisan semula satu kali. 1. Pertama, jelaskan penghijrahan mesin mudah alih dan elakkan perangkap biasa untuk memastikan pasukan mempunyai keupayaan dan keupayaan pemerhatian; 2. Gunakan mod Strangler untuk secara beransur -ansur menggantikan, laluan fungsi baru ke perkhidmatan baru melalui gerbang API; 3. Gunakan reka bentuk yang didorong oleh domain untuk mengenal pasti konteks yang dibatasi, perkhidmatan berpecah mengikut sempadan perniagaan dan mengasingkan pangkalan data; 4. Pilih kaedah komunikasi yang sesuai, gunakan HTTP/REST untuk permintaan pengguna, dan gunakan mesej asynchronous seperti AzureServiceBus untuk acara; 5. Memastikan konsistensi data lintas perkhidmatan melalui konsistensi akhir peristiwa, mod saga dan mod kotak keluar; 6. Integrasi Awal Serilog, Opentelemetry dan Alat Lain untuk Membina Tarikh

Ahli awam boleh diakses oleh mana -mana kod; 2. Private hanya boleh diakses dalam kelas; 3. Protected membolehkan akses kepada kelas dan kelas yang diperolehi; 4. Internal adalah terhad kepada akses dalam perhimpunan yang sama; 5. ProtectedInternal adalah kesatuan yang dilindungi dan dalaman, digunakan untuk akses kepada kelas yang diperolehi atau perhimpunan yang sama.

Pertama () wrowsanExceptionifnoelementisfound, whildirsTordefault () returnsadefaultValue; useFirst () whenthesequenceisExpectedTobenon-empty, andFirStordefault () toHandleEmptySeSeMeLyGnely.

Buat CancellationTokenSource untuk mendapatkan pembatalanToken, yang digunakan untuk memberitahu benang atau komponen lain untuk membatalkan operasi. 2. Lulus token ke kaedah asynchronous yang menyokong pembatalan (seperti Task.Run). Tugas ini secara berkala dapat memeriksa permintaan pembatalan untuk mencapai penamatan yang anggun.

Corakmatchinginc#isafeatureusedtoCheckObjectSagainsTPatternSandExtractInformationCisely.1.TypepatternSallowCheckingAncastinSteNestep, AsshownWithif (valueSstringstr)
