什么是从F#调用DateTime.TryParse正确的方法是什么? 我想测试从F#交互一些代码,我无法弄清楚如何将可变日期时间传递到由参第二个参数。 什么是IN / OUT / REF IN F#的语法?
这是我在看的方法签名: http://msdn.microsoft.com/en-us/library/ch92fbc1.aspx?cs-save-lang=1&cs-lang=fsharp#code-snippet-1
什么是从F#调用DateTime.TryParse正确的方法是什么? 我想测试从F#交互一些代码,我无法弄清楚如何将可变日期时间传递到由参第二个参数。 什么是IN / OUT / REF IN F#的语法?
这是我在看的方法签名: http://msdn.microsoft.com/en-us/library/ch92fbc1.aspx?cs-save-lang=1&cs-lang=fsharp#code-snippet-1
克里斯的答案是正确的,如果你真的需要通过一个可变的DateTime
的参考。 然而,在很多F#更地道使用编译器的治疗后才能out
参数tupled返回值:
let couldParse, parsedDate = System.DateTime.TryParse("11/27/2012")
在这里,第一个值是bool
返回值,而第二个是所分配的输出参数。
以下是如何在F#中执行DateTime.TryParse:
let mutable dt2 = System.DateTime.Now
let b2 = System.DateTime.TryParse("12-20-04 12:21:00", &dt2)
凡&
运营商发现,以修改参考DT2的内存地址。
这里的一些其他信息在F#参数syntaxt。
只是为了完整起见,另一种选择是使用REF细胞,例如
let d = ref System.DateTime.MinValue
if (System.DateTime.TryParse("1/1/1", d)) then
// ...
我发现另一种方式,似乎更实用的风格(从https://stackoverflow.com/a/4950763/1349649 )
match System.DateTime.TryParse "1-1-2011" with
| true, date -> printfn "Success: %A" date
| false, _ -> printfn "Failed!"
Unfirtunately,我找不到它是如何工作的任何信息。