MemoryStream的,必须明确地处置?明确、MemoryStream

由网友(混世小魔女)分享简介:作为的MemoryStream是一个非托管资源它总是要处理?As MemoryStream is an unmanaged resource does it always have to be disposed?由于:1) A method is invoked.2) A MemoryStream object...

作为的MemoryStream是一个非托管资源它总是要处理?

As MemoryStream is an unmanaged resource does it always have to be disposed?

由于:

1) A method is invoked.
2) A MemoryStream object is created (MemoryStream ms = new MemoryStream();).
3) An exception occurs and is caught from the invoking classes.

将MemoryStream对象的引用,因此丢失。请问这种情况需要一个try /最后块(或使用语句)?

The reference on the MemoryStream object is therefore lost. Does this scenario need a try/finally-block (or using-statement)?

推荐答案

在一般情况下,所有可支配的对象必须进行处理。

In general, all disposable objects must always be disposed.

不过,的MemoryStream 实际上并不需要处理,因为它没有任何非托管资源。 (这只是一个字节[] INT ) 它是一次性摆在首位的唯一原因是,它继承了抽象的类,它实现的IDisposable

However, MemoryStream doesn't actually need to be disposed, since it doesn't have any unmanaged resources. (It's just a byte[] and an int) The only reason it's disposable in the first place is that it inherits the abstract Stream class, which implements IDisposable.

注意的每次的其他流必须进行处理。

Note that every other stream must be disposed.

阅读全文

相关推荐

最新文章