我应该分配内存还是仅分配内存流的对象: 这样好吗?
MemoryStream memoryStream = new MemoryStream();
bitmap.Save(memoryStream, System.Drawing.Imaging.ImageFormat.Jpeg);
如果我需要定义MemoryStream大小,我该如何从Bitmap获取它?
答案 0 :(得分:15)
.NET是一个托管环境:具体而言,内存分配通常由.NET运行时代表您管理。您通常不需要自己分配内存。
但是,有时候,您需要在使用Close()
或Dispose()
完成内存后通知运行时。 using
语句可用于包装MemoryStream
等资源,以告知运行时可以回收内存。
答案 1 :(得分:6)
您无需预先分配内存。
您可以使用memoryStream.Length
获得该尺寸。
在使用memoryStream
完成所需操作后,请务必将其丢弃(或将其全部包含在using
语句中)。