Tip5 使用Int?來確保值類型也可用爲null
基元類型爲什麼需要爲null?需要考慮以下兩個場景:
1、數據庫中一個int字段可以被設置爲null。在C#中,值被取出來後,爲了將它賦值給int類型,不得不首先判斷一下它是否爲null。如果將null直接賦值給int類型,會引發異常。
2、在一個分佈式系統中,服務器需要接收並解析來自客戶端的數據。一個int型數據在傳輸的過程中可能會丟失或者被篡改。轉型失敗後應該保存爲null值,而不是提供一個默認值。
例如可空int類型爲
Nullable<int> i = null; //也可以表示爲int? i = null;
轉換方式:
int i = null;
int j = 0;
i = j;
int? = 123;
int j = i ?? 0;