除了MemoryStream之外,C#中是否存在无副本缓冲区/流?

时间:2010-09-01 00:06:27

标签: c# .net

是否存在一个类,而不是将写入其中的数据复制到偶尔调整大小的内部数组中(如MemoryStream所做的那样),保留对用户在写入时传入的每个缓冲区的引用,并维护跟踪写入的每个缓冲区和偏移/计数的数据结构?它还应该支持一种读取机制,它将为客户端提供缓冲区,偏移量和计数(而不是要求客户端分配并提供为每次读取复制数据的缓冲区)。

基本上我需要一些通过引用保留数据的东西,并且不会在我背后做任何重要的分配或任何数据复制。出于某种原因,我怀疑BCL提供了这个。任何已知的实现?

1 个答案:

答案 0 :(得分:1)

会不会

List<ArraySegment<byte>>

办?