3

根据以下文档Option.Value<'T>

获取 Some 选项的值。如果选项为 None,则会引发 NullReferenceException。

此函数供编译的 F# 代码使用,不应直接使用。

最后一句话是否暗示它是由于互操作?如果是这样,用例是什么?否则,这似乎很奇怪,因为该Option类型的全部目的是使未定义值的可能性显式并鼓励对它们的处理,这很容易被规避:

let none : int option = None
let value = none.Value
4

1 回答 1

3

我想它在那里

match v with 
|Some(t) -> t

工作 - 如果没有该Value属性,您将无法t使用 F# 代码可用的任何函数获得 如果您知道该选项是Some因为如果您value直接使用则不检查它,也可能会有一些非常小的速度优势

于 2012-09-01T21:45:23.080 回答