【发布时间】:2015-06-12 16:47:35
【问题描述】:
bool MemoryStream.TryGetBuffer(out ArraySegment<byte> buffer) 是 .NET 4.6 中的新 API,可用于访问 MemoryStream 中存储的有效字节,而无需复制它们。这非常令人兴奋!它返回一个布尔值,“如果转换成功则为真;否则为假”并填充输出参数。
什么时候返回true,表示out ArraySegment<byte> buffer现在包含有效信息?今天没有记录。
我知道如果它返回 false,我可以使用 .ToArray() 来获取字节的副本。而且,我们有 .GetBuffer(),但有时 MemoryStreams 会在缓冲区中创建一个偏移量,并且此信息是 hard (well, sort of) to get later on,更不用说稳健性所需的 try ... catch。
【问题讨论】:
标签: .net memorystream