0

我正在对 System.IO.Pipelines 进行一些试验,但无法找到转换或使用返回的 ReadOnlySequence 对象的最佳方法。

我能够用它做任何事情的唯一方法是将它转换为一个数组,然后执行普通的字节函数,例如给出以下内容:

        byte[] byteArray = new byte[]{ 0x01, 0x02, 0x03, 0x50, 0x99 };
        ReadOnlySequence<byte> buffer = new ReadOnlySequence<byte>(byteArray);

对 Buffer 进行操作:

        var theArray = buffer.ToArray();
        // perform normal byte array operations

如果不转换为数组,我不知道该怎么做:

        foreach(byte theByte in buffer)
            // do something with the byte

测试缓冲区中的特定字节

        if(buffer[0] == 0x11)
            ...

将字节缓冲区复制到结构

        Marshal.Copy(

是通过将 ReadOnlySequence 转回数组来访问其内容的唯一方法吗?

4

1 回答 1

0

你可以foreach这样ReadOnlySequence

foreach (var item in buffer)
{
    if (item.Span[0] == 0x01)
    {
        Console.WriteLine("hello");
    }
}
于 2019-12-27T09:22:44.440 回答