4
我有一個簡單的順序表達,使資源的使用,我想清理,當我說完:資源管理
type MyObject() =
member this.Items =
seq {
use resource = ResourcePool.Get()
let c = resource.ValueCount
if c > 0 then
for i in 0 .. c - 1 do
yield resource.GetValue i
}
如果然後,我使用序列迭代,比如說,在項目中途進行迭代,資源何時處置?
例如:
將resource
被佈置Seq.find後
// ...
let foo = MyObject
let item = foo.Items |> Seq.find (fun i -> i.Name = "name")
// ...
完成?還是需要重新考慮我的資源管理策略?
我想這就是我害怕...... IEnumerator何時處置?我的資源是否會長時間留在記憶中? – JDB
簡短的回答是否定的。我添加了更多的細節。 – Daniel