Kelas System.Nullable

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 ini Nullable menyediakan dukungan pelengkap untuk Nullable<T> struktur. Kelas ini Nullable mendukung perolehan jenis yang mendasari jenis nullable, dan operasi perbandingan dan kesetaraan pada pasangan jenis nullable yang jenis nilai yang mendasarinya tidak mendukung operasi perbandingan dan kesetaraan generik.

Boxing dan Unboxing

Ketika jenis nullable dikotakkan, runtime bahasa umum secara otomatis kotak nilai yang mendasari Nullable<T> objek, bukan objek itu Nullable<T> sendiri. Artinya, jika HasValue properti adalah true, konten properti dikotak Value .

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