gpt4 book ai didi

c# - 将对象转换为十进制? (可为空的十进制)

转载 作者:IT王子 更新时间:2023-10-29 04:08:52 24 4
gpt4 key购买 nike

如果在属性的 setter 中有这个:

decimal? temp = value as decimal?;

值 = "90"

但是在转换之后,temp 是null...

进行此转换的正确方法是什么?

最佳答案

只有类型相同才能拆箱!您不能对不包含目标值的 object 进行拆箱。您需要的是符合以下内容的内容

decimal tmpvalue;
decimal? result = decimal.TryParse((string)value, out tmpvalue) ?
tmpvalue : (decimal?)null;

这会检查该值是否可以解析为 decimal。如果是,则将其赋值给result;否则分配 null。以下代码的作用大致相同,对于不熟悉条件运算符 ?: 的人来说可能更容易理解:

decimal tmpvalue;
decimal? result = null;
if (decimal.TryParse((string)value, out tmpvalue))
result = tmpvalue;

关于c# - 将对象转换为十进制? (可为空的十进制),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/527453/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com