gpt4 book ai didi

c# - C# 中的快速字节数组屏蔽

转载 作者:行者123 更新时间:2023-11-30 14:31:29 26 4
gpt4 key购买 nike

我有一个具有某些属性的结构(例如 int A1int A2 等)。我将结构列表作为二进制文件存储在文件中。

现在,我正在使用二进制读取器将文件中的字节读取到 Buffer 中,并且我想根据结构的属性(例如 .A1 = 100 & .A2 = 12).

性能在我的场景中非常重要,所以我将过滤条件转换为字节数组(Filter)然后我想用Filter屏蔽Buffer 。如果屏蔽的结果等于Filter,则Buffer 将被转换为结构。

问题:屏蔽和比较两个字节数组的最快方法是什么?

更新:Buffer 大小超过 256 字节。我想知道是否有更好的方法而不是迭代 BufferFilter 的每个字节。

最佳答案

我通常采用的方法是使用不安全 代码。您可以使用 fixed 关键字来获取 byte[] 作为 long*,然后您可以在 1/8 的迭代中对其进行迭代- 但使用相同的位操作。您通常会剩下几个字节(因为它不是 8 字节的精确倍数)——之后只需手动清理它们。

关于c# - C# 中的快速字节数组屏蔽,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20173593/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com