在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;