C#怎么解决“可为空的对象必须具有一个值。”什么原因

C#怎么解决“可为空的对象必须具有一个值。”什么原因

问题描述:

图片说明

是在传值的时候没有传过来,导致为空,double转换失败

等他为空的时候,赋一个空字符串的值就行了!

我看到你那0引用,你把那句注释掉跑起来看下效果

意思是,可为null的对象,初始化的时候,你得给一个值给他

应该是SpeedConvertLevel这个类实例没有用new初始化导致的

get里判断如果为空 给null或空字符串

可为空的对象初始化的时候,必须赋值。否则,在使用的时候,首先判断,该对象是否为空,逻辑处理。

对象为NULL时怎么可能强制转换为double呢,应该先判断变量是否为空,再进行其他操作

应该是你这个字段类型设置了可空。请用三元运算符,如果为null的话,赋一个默认值。否则不能直接强转成double类型

可空类型Wind__directionary 作为实参前要加一个判定:if(Wind_directionary!=null)....