使用三元运算符将 null 分配给小数

2023-12-26

我正在使用转换为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(使用前将#替换为@)

使用三元运算符将 null 分配给小数 的相关文章

随机推荐