.NET Core 3.x dan .NET Standard 2.1 mendukung sintaks C# 8.0, memperkenalkan banyak fitur fungsional, dan menambahkan sintaks fitur baru: Anggota readonly, metode antarmuka default, peningkatan pencocokan pola, pola atribut, pola Tuple, pola posisi, ekspresi switch, menggunakan deklarasi, fungsi lokal statis, alur asinkron, indeks dan rentang, penetapan penggabungan null, dll. Artikel ini akan menjelaskan poin pengetahuan baru dari C# 8.0.
Indeks dan ruang lingkup
Jenis .NET berikut mendukung indeks dan rentang: Array, String, Span, dan ReadOnlySpan. Daftar mendukung indeks, tetapi tidak rentang
Contoh 1: Tanggal lahir orang yang memperoleh nomor ID
Contoh 2: Dapatkan isi bit terakhir dari string
Contoh 3: Hapus bit terakhir
beralih
Ekspresi
Mode atribut
Pola tuple
Mode lokasi
Beberapa jenis menyertakan metode Dekonstruksi yang mendekonstruksi propertinya menjadi variabel diskrit. Jika Anda memiliki akses ke metode Dekonstruksi, Anda dapat menggunakan Pola Posisi untuk memeriksa properti objek dan menggunakan properti tersebut untuk pola. Pertimbangkan kelas Point berikut yang berisi metode Deconstruct untuk membuat variabel diskrit untuk X dan Y:
Juga, pertimbangkan pencacahan berikut dari berbagai posisi yang mewakili kuadran:
Metode berikut menggunakan pola posisi untuk mengekstrak nilai x dan y. Kemudian menggunakan klausa when untuk menentukan kuadran untuk titik itu:
Penugasan penggabungan null
Ekspresi konstruktor
Menggunakan pernyataan
Deklarasi using adalah deklarasi variabel yang didahului oleh kata kunci using . Ini menginstruksikan kompiler untuk mendeklarasikan variabel yang akan ditangani di akhir cakupan tertutup. Misalnya, kode untuk menulis file teks adalah sebagai berikut:
Dalam contoh sebelumnya, file diproses ketika tanda kurung kanan metode tercapai. Ini adalah akhir dari rentang file yang dideklarasikan. Kode sebelumnya setara dengan kode berikut menggunakan pernyataan using klasik:
Dalam contoh sebelumnya, file diproses ketika tanda kurung kanan yang terkait dengan pernyataan using tercapai. Dalam kedua kasus tersebut, kompiler akan menghasilkan panggilan ke Dispose(). Jika ekspresi dalam pernyataan using tidak tersedia, kompiler akan menghasilkan kesalahan.
Sumber daya
Login hyperlink terlihat.
Login hyperlink terlihat. |