在C#中使用Nullable類型(給整型賦null值的方法)數據庫
在C#1.x的版本中,一個值類型變量是不能夠被賦予null值的,不然會產生異常。在C#2.0中,微軟提供了Nullable類型,容許用它定義包含null值(即空值)的數據類型,這對處理數據庫中包含可選字段以及不少方面都有很大幫助。spa
(1)定義Nullable類型code
定義一個nullable類型很是相似於定義一個非nullable類型。不一樣之處在於使用類型修飾符「?」。blog
好比定義一個整型以下:it
int myInt = 1;class
要使一個整型變量能夠存儲一個null值,能夠以下聲明:變量
int? myNullableInt= 1;數據類型
這兩個變量看起來彷佛是同樣的。但事實並不是如此。實際上,Nullable類型是一個結構體,它有兩個公開可讀字段:HasValue和Value。 HasValue是一個布爾值,當有值存儲時它爲真,當變量值爲null時HasValue爲假。當HavValue爲真是時,能夠取得變量的值;爲假時,當嘗試取得變量的值時會拋出一個異常。方法
int? num = null; if (num.HasValue) { System.Console.WriteLine("num = " + num.Value); } else { System.Console.WriteLine("num = Null"); }
如今null是C#的一個關鍵字,它能夠被賦給一個Nullable型變量。下面是對Nullable型變量賦值的兩種有效方式。數據
double? myDouble =3.14159;
double?myOtherDouble = null;