0

在 C# 4.0 规范的“7.13 空合并运算符”中,它说

否则,如果 b 的类型为 B 并且存在从 a 到 B的隐式转换,则结果类型为 B。

据我了解,它应该是从 A0 到 B(如果 A 是可空类型,则 A0 是 A 的基础类型,否则是 A)。

int? a=null;
long b=5;

然后类型为a??blong,因为存在从 int(即 A0)到 long 的隐式转换。

请帮助确认我的观点是否正确。

4

1 回答 1

1

在 C#3.0 中它说:

否则,如果存在从 A0 到 B 的隐式转换,则结果类型为 B。

在我的猜测中,这可能是 C#4.0 中的一个错字。

于 2013-08-06T12:18:12.613 回答