我想检查一个十进制数是否为空或具有某个值,因为这个值是从类对象中的数据库分配的:
public decimal myDecimal{ get; set; }
然后我有
myDecimal = Convert.ToDecimal(rdrSelect[23].ToString());
我正在尝试:
if (rdrSelect[23] != DBNull.Value)
{
myDecimal = Convert.ToDecimal(rdrSelect[23].ToString());
}
但我得到的是:
表达式的结果始终为“true”,因为类型为“decimal”的值永远不等于null
我该如何检查该十进制数是否有一些值?
Decimal
是一个值类型,永远不可能为空。如果您的数据库列可空,那么它应该由Decimal?
表示(这是System.Nullable<Decimal>
的简写)。 - Federico BerasateguirdrSelect[23]
为空,Convert.ToDecimal
将会失败。 - Andy Refuerzodecimal
永远不可能为空,它总是有一个值。 - Servy