前端之家收集整理的这篇文章主要介绍了
高效的C#字节队列,用于解析二进制消息包的字节流,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试替换通常实现的循环缓冲区.队列的
功能是缓冲传入的字节(例如从串行端口或其他数据流),而解析器检查队列中的字节并检测并
提取消息数据包.
标准:
>可以成长(即不固定大小)
>
= 1 bytes can be enqueued at a time
>
= 1 bytes can be dequeued at a time
>高效
我只是想使用它
System.Collections.Generic.Queue<byte>
…但我不知道这是否是最有效的使用类型.有什么建议么?
有什么更聪明的方式做我想做的事情吗? (例如有趣的建议here)
感谢您的建议和输入.
Prembo.
队列<字节>由字节[]
支持,但是如果使用Array.Copy从底层缓冲区复制,而不是循环通过Enqueue / Dequeue
方法,则会看到更好的
性能.因此,如果Queue< byte>不给你想要的
性能,那么你可以实现自己的队列类,它提供了QueueMultiple和DequeueMultiple
方法.
原文链接:https://www.f2er.com/csharp/97485.html