Rumah >pembangunan bahagian belakang >C++ >Apakah 'null!' Min dalam Jenis Rujukan Nullable C#?
Meneroka "null!" bina dalam C#
Konstruk C# null!
ialah ciri penting yang diperkenalkan dengan Jenis Rujukan Nullable. Untuk memahami tujuannya, kita perlu meneliti perubahan dalam C# 8.0 berkenaan keselamatan nol.
Peningkatan Keselamatan Null dalam C# 8.0
C# 8.0 secara asasnya mengubah cara jenis rujukan mengendalikan kebolehtebalan. Secara lalai, jenis rujukan kini tidak boleh dibatalkan, bermakna ia tidak boleh diberikan nilai null
. Perubahan penting ini bertujuan untuk mencegah ralat NullReferenceException
secara proaktif dengan menuntut pengendalian eksplisit bagi potensi nilai nol dalam kod anda.
Operator ?
dan !
: Mentakrifkan Kebolehbatalan
Dua pengendali mengawal kebolehtelapan: ?
dan !
.
?
menetapkan pembolehubah sebagai boleh batal, membenarkan penetapan null
.!
menegaskan bahawa pembolehubah yang berpotensi boleh dibatalkan memegang nilai bukan nol, dengan berkesan memintas semakan nol.Menyahbina null!
null!
mewakili aplikasi khusus pengendali !
. Biasanya, !
digunakan pada pembolehubah untuk mengesahkan keadaan bukan nolnya. Walau bagaimanapun, penggunaan !
pada null
literal mewujudkan situasi yang kelihatan bercanggah: null
diisytiharkan sebagai tidak boleh dibatalkan.
Tingkah laku ini timbul kerana null
literal sememangnya boleh dibatalkan. Dengan menggunakan null!
, kami secara eksplisit membatalkan kebolehtelapan lalai ini, mengisytiharkan null
sebagai tugasan yang sah untuk pembolehubah tidak boleh dibatalkan. Ini pada asasnya memberitahu pengkompil untuk menerima null
dalam konteks khusus ini, walaupun pembolehubah diisytiharkan sebagai tidak boleh dibatalkan.
Atas ialah kandungan terperinci Apakah 'null!' Min dalam Jenis Rujukan Nullable C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!