根据Option.Value<'T>
的文档:
获取某个选项的值。如果是,则引发NullReferenceException 选项为无。
和
此函数供编译的F#代码使用,不应使用 直接
最后一句是否意味着它是由于互操作?如果是这样的用例是什么?
否则它似乎很奇怪,因为Option
类型的全部要点是明确定义未定义值的可能性并鼓励处理它们,这很容易被绕过:
let none : int option = None
let value = none.Value
答案 0 :(得分:3)
我想它就在那里
match v with
|Some(t) -> t
工作 - 没有Value
属性,你将无法获得t
任何可用于F#代码的函数(注意,有些DU属性不能从F#访问这是另一种选择)。如果您知道该选项为Some
,则可能还会有一些非常小的速度优势,因为如果您直接使用value
,则不会检查该选项