为什么F#中的选项类型有值属性?

为什么F#中的选项类型有值属性?,f#,F#,根据Option.Value的文档,我想它就在那里 match v with |Some(t) -> t 有效-如果没有值属性,您将无法使用F#code可用的任何函数获得t(请注意,有些DU属性无法从F#访问,F#在这里是一种替代方法)。如果您知道该选项是some,则可能还有一些非常小的速度优势,因为如果您直接使用value则不检查它您完全正确,代码编译为返回v.value。 match v with |Some(t) -> t

根据
Option.Value的文档,我想它就在那里

match v with 
|Some(t) -> t

有效-如果没有
属性,您将无法使用F#code可用的任何函数获得
t
(请注意,有些DU属性无法从F#访问,F#在这里是一种替代方法)。如果您知道该选项是
some
,则可能还有一些非常小的速度优势,因为如果您直接使用
value
则不检查它

您完全正确,代码编译为
返回v.value
match v with 
|Some(t) -> t