C# – Nullables

Di C#, ada tipe data khusus yang disebut nullable types, yang bisa menampung nilai-nilai dalam rentang normal dan juga nilai null.

Misalnya, kamu bisa menyimpan nilai apa pun dari -2,147,483,648 hingga 2,147,483,647 atau null dalam variabel Nullable<Int32>. Begitu juga, kamu bisa mengisi true, false, atau null dalam variabel Nullable<bool>. Syntax untuk mendeklarasikan tipe nullable adalah sebagai berikut:

< data_type> ? <variable_name> = null;

Nah, berikut ini contoh penggunaan tipe data nullable:

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();
      }
   }
}

Kalo kode di atas di-compile dan dijalankan, hasilnya bakal seperti ini nih:

Nullables at Show: , 45,  , 3.14157
A Nullable boolean value:

The Null Coalescing Operator (??)

Operator null coalescing digunakan dengan tipe data nullable dan tipe data referensi. Operator ini digunakan untuk mengonversi sebuah operand menjadi tipe data operand nullable (atau non-nullable), jika konversi implisit dimungkinkan.

Jika nilai dari operand pertama adalah null, maka operator ini akan mengembalikan nilai dari operand kedua, jika tidak, maka operator ini akan mengembalikan nilai dari operand pertama. Berikut ini adalah contoh yang menjelaskan penggunaan operator ini:

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();
      }
   }
}

Kalo kode di atas di-compile dan dijalankan, hasilnya bakal seperti ini nih:

Value of num3: 5.34
Value of num3: 3.14157

Leave a Reply

Your email address will not be published. Required fields are marked *