我正在对System.IO.Pipelines进行试验,无法找到转换或使用返回的ReadOnlySequence对象的最佳方法。
我能够执行任何操作的唯一方法是将其转换为数组,然后执行常规的字节函数,例如,给定以下内容:
byte[] byteArray = new byte[]{ 0x01, 0x02, 0x03, 0x50, 0x99 };
ReadOnlySequence<byte> buffer = new ReadOnlySequence<byte>(byteArray);
对缓冲区执行操作
var theArray = buffer.ToArray();
// perform normal byte array operations
我无法弄清楚不转换为数组怎么办:
foreach(byte theByte in buffer)
// do something with the byte
测试缓冲区中的特定字节
if(buffer[0] == 0x11)
...
将字节缓冲区复制到Struct
Marshal.Copy(
将ReadOnlySequence的内容转回数组是访问它的唯一方法吗?
答案 0 :(得分:0)
您可以像这样在foreach
上ReadOnlySequence
:
foreach (var item in buffer)
{
if (item.Span[0] == 0x01)
{
Console.WriteLine("hello");
}
}