Memahami Tipe Nullable C#: Menangani Nilai Null dengan Aman
C# menyediakan tipe data khusus, yaitu tipe nullable, yang dapat Anda isi dengan rentang nilai normal serta nilai null.
Contohnya, Anda dapat menyimpan nilai dari -2,147,483,648 hingga 2,147,483,647 atau null dalam variabel Nullable<Int32>. Demikian pula, Anda dapat menetapkan true, false, atau null dalam variabel Nullable<bool>. Sintaks untuk mendeklarasikan tipe nullable adalah sebagai berikut:
< data_type> ? <variable_name> = null;
Contoh berikut menunjukkan penggunaan tipe data nullable:
Live Demo
using System; namespace CalculatorApplication { class NullablesAtShow { static void Main(string[] args) { int? num1 = null; int? num2 = 45; double? num3 = new double?(); double? num4 = 3.14157; bool? boolval = new bool?(); // display the values Console.WriteLine("Nullables at Show: {0}, {1}, {2}, {3}", num1, num2, num3, num4); Console.WriteLine("A Nullable boolean value: {0}", boolval); Console.ReadLine(); } } } Ketika kode di atas dikompilasi dan dieksekusi, hasilnya adalah:
Nullables at Show: , 45, , 3.14157 A Nullable boolean value:
Operator Null Coalescing (? ?)
Operator null coalescing digunakan dengan tipe nilai nullable dan tipe referensi. Digunakan untuk mengubah operand menjadi tipe tipe nilai nullable lainnya (atau tidak), di mana konversi implisit memungkinkan.
Jika nilai operand pertama null, maka operator mengembalikan nilai operand kedua, jika tidak mengembalikan nilai operand pertama. Contoh berikut menjelaskan hal ini:
Live Demo
using System; namespace CalculatorApplication { class NullablesAtShow { static void Main(string[] args) { double? num1 = null; double? num2 = 3.14157; double num3; num3 = num1 ?? 5.34; Console.WriteLine(" Value of num3: {0}", num3); num3 = num2 ?? 5.34; Console.WriteLine(" Value of num3: {0}", num3); Console.ReadLine(); } } } Ketika kode di atas dikompilasi dan dieksekusi, hasilnya adalah:
Value of num3: 5.34 Value of num3: 3.14157