F#TryGetValue,can';你不能访问这个值吗?

F#TryGetValue,can';你不能访问这个值吗?,f#,F#,我在F#中的一个字典上使用TryGetValue,它返回一个对象bool*Dictionary 我已经在谷歌上搜索了几个小时,但是如何访问这个对象的bool组件,以便检查它是否返回了值 请不要让我去邮寄…有几个选择 最简单的可能是: let found, value = dict.TryGetValue key 或者: let pair = dict.TryGetValue key let found = fst pair let value = snd pair 最常见的模式是: matc

我在F#中的一个字典上使用TryGetValue,它返回一个对象
bool*Dictionary

我已经在谷歌上搜索了几个小时,但是如何访问这个对象的bool组件,以便检查它是否返回了值


请不要让我去邮寄…

有几个选择

最简单的可能是:

let found, value = dict.TryGetValue key
或者:

let pair = dict.TryGetValue key
let found = fst pair
let value = snd pair
最常见的模式是:

match dict.TryGetValue key with
  | true, value -> (* do something with value *)
  | _           -> (* handle the case of value not found *)

intellisense和文档()仅显示带有两个参数的方法重载:key和ref value。如何/在哪里可以找到单参数方法签名?(如果我使用带有一个参数的sugegsted重载,它可以在任何情况下工作)@Alex75我不确定,但我相信对于返回bool并带有out参数的函数,这是一个特殊的F#编译器。