gpt4 book ai didi

c# - 为什么 Stream 类要实现 IDisposable?

转载 作者:太空宇宙 更新时间:2023-11-03 13:05:13 25 4
gpt4 key购买 nike

为什么 Stream 类要实现 IDisposable?我认为 Stream 类本身没有任何非托管资源。当然,有些子类具有非托管资源(例如FileStream),但并非所有子类都具有非托管资源(例如MemoryStream)。

如果上述问题的答案是“因为Stream类的子类可能有非托管资源”,那么Object类为什么不实现IDisposable呢?

最佳答案

没有人说资源必须不受管理。它有需要清理的资源。您可以使用 Close() 完成相同的事情,但其想法是您可以将其与 using 语句一起使用,然后将保证资源被清理, 即使在异常情况下也是如此。

using (var s = new System.IO.MemoryStream())
{
//do something.
}

关于c# - 为什么 Stream 类要实现 IDisposable?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30964996/

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