No, there's no chance of that. It's safe to do - the MemoryStream
keeps a strong reference to the byte array.
I'll see if I can find any documentation about guarantees...
EDIT: Sort of...
From MemoryStream.Close
:
The buffer is still available on a MemoryStream
once the stream has been closed.
Admittedly that doesn't guarantee it for Dispose
, but that's documented to call Stream.Close
.
MemoryStream.Dispose(bool)
could then be overridden to release the array, but it doesn't in my experience, and it would be a breaking change at this point.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…