C#tertiary如果运算符给出可空双精度问题

spr*_*t12 1 c# if-statement nullable operators

我有一个可以考虑的双倍

MyNullableDouble = MyDouble == 0 ? null : MyDouble;
Run Code Online (Sandbox Code Playgroud)

这引起了我一个问题:

无法确定条件表达式的类型,因为''和'double'之间没有隐式转换

Tob*_*bon 5

你应该施放Mydouble,否则在左边你有你double?在右边的double类型,所以类型不等同(这正是异常所说的):

MyNullableDouble = MyDouble == 0 ? null : (double?)MyDouble;
Run Code Online (Sandbox Code Playgroud)