无涯教程-F# - 资源管理

46 阅读1分钟

F#借助useusing关键字管理资源。资源可以是数据、文件或网络等。它从操作系统或其他服务提供商获取资源,以便可以将其提供给其他应用。

它以可预测的方式迅速释放资源。System.IDisposal接口的Dispose方法隐式释放空闲的资源。

F#使用两种处置模式:Use Binding和Using函数。

F# use绑定

它提供与LET绑定相同的功能。调用Disposal方法释放长期不使用的资源。

让无涯教程来看一个例子。

open System.IO
let ReleaseFile fileName  content =
   use releaseFileName = File.CreateText(fileName)
   releaseFileName.WriteLine("{0}", content.ToString() )

ReleaseFile "textFile.txt" "This file contains data"

在上面的示例中,在执行writeline()方法之后。使用关键字隐式调用Dispose()方法并释放文件资源。

F# use函数

Using函数创建一个必须释放的对象。它既可以在lambda函数中使用,也可以在函数代码中使用。

open System.IO
let ReleaseFile fileName content =
    using (System.IO.File.CreateText(fileName)) ( fun textFile ->
        textFile.WriteLine("{0}", content.ToString() )
    )

ReleaseFile "file/textFile.txt" "This is a text file. \nIt contains data."

参考链接

www.learnfk.com/fsharp/f-sh…