我正在使用转换为decimal
of a byte array
,这样它包含null
或任何其他数字,以字节存储。这里的问题是,当我尝试转换null
to Nullable decimal
,它将其转换为zero
。我希望它保留null
...
Convert.ToDecimal(obj.sal== null ? null : System.Text.Encoding.ASCII.GetString(obj.sal))
如果您希望结果可能为空,那么您不应该调用Convert.ToDecimal
- 总是返回decimal
。相反,您应该使用:
x = obj.sal == null ? (decimal?) null
: Convert.ToDecimal(Encoding.ASCII.GetString(obj.sal));
请注意,您必须投射null
字面意思是decimal?
- 或者使用其他形式,例如default(decimal?)
所以第二个操作数的类型是decimal?
- 否则编译器将无法推断条件表达式的类型。看这个问题 https://stackoverflow.com/questions/2881364/problem-using-conditional-operation-with-nullable-int/2881390#2881390了解更多详情。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)