📜  F#资源管理

📅  最后修改于: 2021-01-01 14:46:47             🧑  作者: Mango

F#资源管理

F#在使用使用关键字的帮助下管理资源。资源可以是数据,文件或网络等。它从操作系统或其他服务提供商那里获取资源,以便可以将其提供给其他应用程序。

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

F#使用两种处置模式:use绑定和using函数。

F#使用绑定

它提供与let绑定相同的功能。它调用处置方法以释放长时间不使用的资源。

让我们来看一个例子。

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()方法之后。 use关键字隐式调用dispose()方法并释放文件资源。

F#使用函数

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."