Null & Nullable Types di C#
Penjelasan
Secara default, tipe value (mis. int, bool) di C# TIDAK BISA bernilai null — kalau butuh, harus ditandai nullable dengan tanda ? di belakang tipe datanya (mis. int?). C# juga punya null-conditional operator (?.) untuk mengakses property/method object yang mungkin null tanpa error, dan null-coalescing operator (??) untuk memberi nilai default kalau hasilnya null.
Contoh Konsep
int? umur = null; // nullable int, tanpa ? ini akan error
Console.WriteLine(umur ?? 0); // 0, karena umur null
string nama = null;
Console.WriteLine(nama?.Length); // null (bukan error), karena nama null
Console.WriteLine(nama?.Length ?? 0); // 0, gabungan ?. dan ??
Praktikum
Buat variabel string kota = null. Pakai null-conditional (?.) untuk mengakses kota?.Length, lalu pakai null-coalescing (??) untuk memberi nilai default 0 kalau hasilnya null. Tampilkan hasil akhirnya.
Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.
Tips
Nullable type (int?) berbeda dari reference type biasa (string) yang memang sudah bisa null sejak awal — ? di belakang tipe VALUE (int, bool, double, dst) itu wajib kalau kamu sengaja ingin variabel itu bisa menyimpan null.