null with cast vs Unchecked.defaultof?



我遇到了两种方法来创建正确键入的 null值:

// null with cast
let mutable x = null :> MyReferenceType
// Unchecked.defaultof
let mutable x = Unchecked.defaultof<MyReferenceType>

是否有任何理由偏爱另一个?

没有区别,有时只有一种做事的方法。但是通常UNACKECT.DEFAULTOF((在您不提前不知道类型的通用上下文中使用,因此您不知道默认值。您当然知道,myReferenceType的默认值是无效的。因此,我会选择第一份声明。实际上,即使那是一个丑陋的演员。大多数人可能只是将其写成

let x : MyReferenceType = null

最新更新