HIy*_*yer 16 c# io unsafe
有人能告诉我这UnmanagedMemoryStream堂课的用途吗?
UnmanagedMemoryStream
我无法弄清楚这门课程如何以及何时有用?
Ric*_*ein 11
使用UnmanagedMemoryStream可以读取非托管流,而无需先将所有内容复制到托管堆中,因此在处理非托管流时,内存密集程度较低.如果您处理大量数据,这也可以让您绕过内存限制.这是关于UnmanagedMemoryStream的简短文章.
编辑:请注意,MemoryStream有2GB的限制,因此如果超出此限制,则必须使用UnmanagedMemoryStream.
Jon*_*Jon 5
UnmanagedMemoryStream允许您访问尚未由公共语言运行时分配的内存,这主要用于您希望通过Stream接口访问由非托管代码分配的内存(例如,因为您已经拥有对流进行操作的代码).
Stream
当然,没有什么可以阻止你从C#中通过Marshal类分配非托管内存并将其包装在一个中UnmanagedMemoryStream,但这只会让生活变得更加困难,因为你可能已经使用了MemoryStream它而且真的,真的不太可能假设手动控制内存支持流将提供任何好处.
Marshal
MemoryStream
归档时间:
14 年,4 月 前
查看次数:
5491 次
最近记录:
14 年,3 月 前