【发布时间】:2019-03-29 10:07:34
【问题描述】:
您好,我目前正在尝试使用活动模式和 Int.TryParse 方法将字符串解析为 Int。使用 2012 年的旧示例,它曾经像这样工作:
let (|Int|_|) str =
match System.Int32.TryParse str with
| true,int -> Some int
| _ -> None
但现在我收到一条错误消息,告诉我无法选择正确的 TryParse() 重载。将 str 注释为字符串,错误仍然存在。我希望你们中的任何人都可以帮助我解决这个简单的问题,在此先感谢。
一些附加信息:我正在尝试使用 FSharp.Core 4.5.2 和 .Net Core 2.1。
错误:
FS0041 无法确定方法“TryParse”的唯一重载 基于此程序点之前的类型信息。一种 可能需要注释。候选人: Int32.TryParse(s: ReadOnlySpan
, 结果: byref ) : bool, Int32.TryParse(s: 字符串,结果:byref ) : bool
【问题讨论】:
-
您是否在编译器输出的文本中或在 Visual Studio“错误列表”选项卡中看到错误?有时我会在“错误列表”选项卡中看到虚假结果,这可能是由编辑器内解析问题引起的。您的代码在我的一个开放项目中编译得很好。
-
我在“错误列表”选项卡中看到它,但编译器输出中也显示了相同的消息。它不编译。
标签: f#