#region 可空類型 /// <summary> /// 可以為 null 的類型是 System..::.Nullable<(Of <(T>)>) 結構的實例。 /// 可以為 null 的類型可以表示其基礎值類型正常范圍內的值, /// 再加上一個 null 值。例如,Nullable<Int32> /// 讀作“可以為 null 的 Int32”,可以將其賦值為 -2147483648 到 2147483647 之間的任意值, /// 也可以將其賦值為 null 值。 /// 可以賦給 Nullable<bool> 的值包括 true、false 或 null。 /// 在處理數據庫和其他包含不可賦值的元素的數據類型時, /// 將 null 賦值給數值類型或布爾型的功能特別有用。 /// 例如,數據庫中的布爾型字段可以存儲值 true 或 false, /// 或者,該字段也可以未定義。 /// </summary> public class NullableDemo { public void TestMethod() { ///可空類型,可以被賦值為null,也可以正常賦值 int? n = 10; n = null; Console.WriteLine(n); ///可空類型可以通過HasValue屬性判斷是否有值 if (n.HasValue) { ///如果有值,可通過Value屬性獲得 Console.WriteLine(n.Value); } ///得到值,如果為空則會得到系統賦的默認值,下面語句輸出為0 Console.WriteLine( n.GetValueOrDefault()); int m = 10; //下面這行要報錯,因為他不是可空類型,不能為null //m = null; ///用來接受可空類型與普通值類型計算結果,必須也是可空類型 int? result; ///以下四行代碼均返回null result = m + n; result = m * n; result = m - n; result = m / n; Console.WriteLine(result); ///??空接合操作符 ///可以用來判斷可空類型是否為空 ///下面這行代碼表示如果n!=null 那么x=n,否則 x=-1; int x = n ?? -1; ///可以使用表達式,如下示 //int y = (n * m) ?? (100 / 2 * 3); Console.WriteLine(x); } } #endregion
可空類型特性:
本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。