Bagikan melalui


Kelas System.Nullable

Nota

Artikel ini menyediakan keterangan tambahan untuk dokumentasi referensi untuk API ini.

Kelas Nullable mendukung jenis nilai yang dapat ditetapkan null.

Jenis dikatakan dapat diubah ke null jika dapat diberi nilai atau dapat ditetapkan null, yang berarti jenis tidak memiliki nilai apa pun. Secara default, semua jenis referensi, seperti String, dapat diubah ke null, tetapi semua jenis nilai, seperti Int32, tidak.

Di C# dan Visual Basic, Anda menandai jenis nilai sebagai nullable dengan menggunakan ? notasi setelah jenis nilai. Misalnya, int? di C# atau Integer? di Visual Basic mendeklarasikan jenis nilai bilangan bulat yang dapat ditetapkan null.

Kelas Nullable ini menyediakan dukungan pelengkap untuk struktur Nullable<T>. Kelas Nullable mendukung perolehan jenis dasar dari jenis nullable, serta operasi perbandingan dan kesetaraan pada pasangan jenis nullable yang nilai dasarnya tidak mendukung operasi perbandingan dan kesetaraan generik.

Tinju dan pembukaan kotak

Ketika tipe nullable dikotakkan, runtime bahasa umum secara otomatis mengotakkan nilai dasar dari objek Nullable<T>, bukan objek Nullable<T> itu sendiri. Artinya, jika properti HasValue adalah true, konten dari properti Value dikotak.

HasValue Jika properti dari jenis nullable adalah false, hasil dari operasi tinju adalah null. Ketika nilai yang mendasari jenis nullable dibuka bungkusnya, mesin runtime bahasa umum membuat struktur baru Nullable<T> yang diinisialisasi ke nilai yang mendasarinya.