if (dr["UserName"] == DBNull.Value){
user.UserName = null;
}
也可以什么都不做(默认情况下,引用类型为 nothing/null)。这对值类型(例如整数、布尔值、小数等)并不完全一样。您当然也可以为这些值指定 nothing/null,但这样将会指定一个默认值。如果您只声明整数,或者为其指定 nothing/null,变量的值实际上将为 0。这使其很难映射回数据库:值究竟为 0 还是 null?可以为空的类型允许值类型具有具体的值或者为空,从而解决了这个问题。例如,如果我们要在 userId 列中支持 null 值(并不是很符合实际情况),我们会首先将 userId 字段和对应的属性声明为可以为空的类型:
’Visual Basic .NET
Private _userId As Nullable(Of Integer)
Public Property UserId() As Nullable(Of Integer)
Get
Return _userId
End Get
Set(ByVal value As Nullable(Of Integer))
_userId = value
End Set
End Property
//C#
private Nullable<int> userId;
public Nullable<int> UserId {
get { return userId; }
文章来源于领测软件测试网 https://www.ltesting.net/