Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net MemoryStream.TryGetBuffer何时返回有用的ArraySegment?_.net_Memorystream - Fatal编程技术网

.net MemoryStream.TryGetBuffer何时返回有用的ArraySegment?

.net MemoryStream.TryGetBuffer何时返回有用的ArraySegment?,.net,memorystream,.net,Memorystream,是.NET 4.6中的一个新API,可用于访问存储在MemoryStream中的有效字节,而无需复制它们。这太令人兴奋了!它返回一个bool,“如果转换成功,则为true;否则为false”,并填充out参数 何时返回true,表示out ArraySegment缓冲区现在包含有效信息?这在今天还没有记录 我知道如果它返回false,我可以使用它来获取字节的副本。而且,我们已经有了,但是有时候内存流是在缓冲区中有一个偏移量的情况下创建的,而且这个信息是,更不用说try。。。健壮性所需的catch

是.NET 4.6中的一个新API,可用于访问存储在MemoryStream中的有效字节,而无需复制它们。这太令人兴奋了!它返回一个bool,“如果转换成功,则为true;否则为false”,并填充out参数

何时返回true,表示
out ArraySegment缓冲区现在包含有效信息?这在今天还没有记录


我知道如果它返回false,我可以使用它来获取字节的副本。而且,我们已经有了,但是有时候内存流是在缓冲区中有一个偏移量的情况下创建的,而且这个信息是,更不用说
try。。。健壮性所需的catch

对于
TryGetBuffer
要执行成功转换并用有用信息填充out参数,缓冲区必须可见。如果使用以下任何构造函数,则缓冲区可见:

  • MemoryStream()
  • 内存流(内部容量)
  • MemoryStream(byte[]缓冲区、int索引、int计数、bool可写、bool publicyVisible)
    带有
    publicyVisible:true

有关更多详细信息,请查看。

GetBuffer返回内存中的所有字节,与使用无关

例: 容量=100000,长度=200

GetBuffer(和TryGetBuffer!?)返回字节(容量)

ToArray返回字节(长度)