gpt4 book ai didi

f# - 为什么使用比使用更好?

转载 作者:行者123 更新时间:2023-12-03 13:21:47 24 4
gpt4 key购买 nike

根据 this MSDN page 上的最后一句话use优于using .我在别处听过(例如 this answer)。为什么是这样?我意识到use是后来添加的。但是有什么区别呢?从表面上看,using似乎更有用,因为您可以控制何时 Dispose()被调用,如果需要,您可以显式忽略绑定(bind)值(例如 (fun _ -> ...) )。

最佳答案

您可以使用 use 控制何时调用 dispose同样,只需使用通常的作用域结构(如括号或 begin - end ),例如

let F() =
let x = 4
(
use file = System.IO.File.Open("foo.xml", System.IO.FileMode.Append)
let z = 4
printfn "file still open here"
)
printfn "file was already closed/disposed"

但我认为这很少有用。我认为不想命名/使用 IDisposable 的情况也很少见。目的。 use在语法上更方便,并且 95% 的时间都可以满足您的需求,所以我认为这就是首选它的原因。

关于f# - 为什么使用比使用更好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5046567/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com