HasValue dan != null
untuk nilai nullable dalam C# JenisC#'s Nullable<T>
membenarkan nilai nullable, yang boleh menjadi nilai sah atau null. Untuk menyemak sama ada nilai nullable telah diberikan, terdapat dua cara biasa:
Nullable.HasValue
Atribut bagi Nullable<T>
menunjukkan sama ada nilai telah ditetapkan. Ia mengembalikan nilai Boolean yang benar jika nilai itu bukan nol atau palsu jika nilainya adalah nol. HasValue
Nullable != null
Ungkapan ini juga menyemak sama ada nilai boleh batal bukan nol. Ia membandingkan nilai nullable kepada null menggunakan operator yang sama.
Kesamaan dalam kompilasi Pengkompil
mengoptimumkan semakan ini dengan menggantikan perbandingan dengan panggilan ke != null
. Ini bermakna tiada perbezaan yang ketara dalam prestasi atau kefungsian antara kedua-dua kaedah. HasValue
Keutamaan Pilihan antara
dan HasValue
adalah berdasarkan kebolehbacaan dan keutamaan semata-mata. Sesetengah pembangun lebih suka kejelasan != null
, manakala yang lain mendapati yang ringkas HasValue
lebih mudah dibaca. != null
Contoh
<code class="language-csharp">int? a = null; // 使用 HasValue if (a.HasValue) { // ... } // 使用 != null if (a != null) { // ... }</code>
dan HasValue
adalah cara yang sah untuk menyemak nilai yang tidak boleh dibatalkan dalam C#. Pengkompil mengoptimumkan semakan ini untuk mempunyai kelakuan yang setara, menjadikan pilihan itu soal keutamaan pembangun dan kebolehbacaan kod. != null
Atas ialah kandungan terperinci HasValue atau != null: Manakah yang Lebih Baik untuk Menyemak Nilai Nullable dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!