【发布时间】:2013-08-05 22:13:07
【问题描述】:
在 C# 4.0 规范的“7.13 空合并运算符”中,它说
否则,如果 b 的类型为 B,并且存在 从 a 到 B 的隐式转换,则结果类型为 B。
据我了解,应该是从 A0 到 B(如果 A 是可空类型,则 A0 是 A 的基础类型,否则是 A)。
int? a=null;
long b=5;
那么a??b 的类型为long,因为存在从int(即A0)到long 的隐式转换。
请帮忙确认一下我的观点是否正确。
【问题讨论】:
-
您对此有何疑问?
-
只是请求帮助以确认我的观点是否正确。
-
你是说你认为这里的规范有错误吗?阅读整个部分(不仅仅是您粘贴的行)我不这么认为,这对我来说似乎是正确的。
-
没有从 int 隐式转换?长。但存在从 int 到 long 的一个。我在 C#3.0 中发现它是“从 A0 到 B”。这可能是 C#4.0 中的一个错字
标签: c#