Halo, ini adalah posting keempat saya tentang fitur dari VB9 yaitu Nullable type, anda dapat melihat posting saya sebelumnya:
- Implicitly typed local vaiable
- Object initializer
- Anonymous types
Seperti kita ketahui pada CLS terdapat dua tipe data yang disupport yaitu value type (integer,double,boolean,etc) dan reference type (String, StringBuilder, etc), untuk tipe reference jika anda tidak mau memberi nilai maka anda dapat mengesetnya menjadi “Nothing”, tapi lain halnya dengan value type anda tidak bisa tidak meberi nilai, anda harus memberi nilai yang sesuai dengan range nilainya (misal untuk tipe short dari -32000 sd 32000). Ini akan dapat menimbulkan masalah ketika kita melakukan mapping dan mengambil data dari database, misal pada table Mahasiswa field Ipk bernilai null, nah kita akan kesulitan untuk merepresentasikan nilai data field yang kosong tersebut dalam object Mahasiswa.
Nullable types digunakan agar anda dapat memberi nilai null pada value type, sebenarnya pada VB8 anda juga sudah dapat menggunakan nullabe type dengan generic Nullable(Of T)
Sub Main()
'pada VB8
Dim bil1 As Nullable(Of Integer)
bil1 = Nothing
Dim cek As Boolean = bil1.HasValue 'akan bernilai false
bil1 = 999
cek = bil1.HasValue 'akan bernilai true
End Sub
Tetapi dengan menggunakan nullable type di VB9 penulisannya menjadi lebih mudah
'nullable pada VB9
Dim i As Integer?
Console.WriteLine(i.HasValue) 'akan bernilai false
i = 999
Console.WriteLine(i.HasValue) 'akan bernilai true
Nullable types akan sangat berguna ketika anda melakukan mapping table pada LINQ to SQL