5
如果通用类型与null
(并且仅与null
)进行比较,则会导致编译器将该类型限制为可为空(可以)并且可以是可等同的。为什么一个空检查会在F#中导致一个等式约束?
为什么后者?看起来只是与null
比较应该可以用于可为空,但不支持相等的类型。
我知道我可以使用Unchecked.equals
来得到可空的约束,只是想知道我是否缺少一些明显的原因,为什么((=) null)
需要一个equatable参数。
好点 - 本该想出来:) –