使用奇怪的错误?操作者

Ari*_*ian 1 .net c# c#-4.0

可能重复:
无法确定条件表达式的类型?

我目前写了这样的声明:

byte? Col_8 = (Rad_8.SelectedValue == null) ? null : byte.Parse(Rad_8.SelectedValue);
Run Code Online (Sandbox Code Playgroud)

但它有这个错误:

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

为什么我之后可以使用null ??如果相当于上面的代码没有if声明怎么办?

Jen*_*ens 8

编译器无法推断条件语句的类型,因为null它没有类型,也没有考虑预期的返回值.使用

(Rad_8.SelectedValue == null) ? (byte?)null : byte.Parse(Rad_8.SelectedValue);
Run Code Online (Sandbox Code Playgroud)