在 F# 中,use对我来说似乎更具可读性,但using本质上更具声明性。是否有一般的经验法则来支持来源?
1 回答
8
我一般比较喜欢use。该函数在库中不存在using的时候就已经存在,因此即使在关键字更有意义的情况下,一些较旧的 F# 示例也可能会使用。useusinguse
当您想更明确地指定范围时,该using函数可能仍然有意义:
using (new StreamWriter(..)) (fun sw ->
sw.Write("hi"))
printfn "Something more here"
但即使这样也可以使用use:
( use sw = new StreamWriter(..)
sw.Write("hi") )
printfn "Something more here"
关于关键字的另一个好处use是您可以在序列表达式中使用它(例如从文件内容生成集合时)和异步工作流(管理在网络通信期间分配的连接)。
于 2013-10-04T19:36:52.930 回答