是否可以在一次操作中从 byte[] 数组中获取 4 个字节?
这意味着代替:
var octet_a = bytes[i++];
var octet_b = bytes[i++];
var octet_c = bytes[i++];
var octet_d = bytes[i++];
得到类似的东西
Int32 b4= Get4Bytes(i);
i=i+4;
最佳答案
您可以使用 BitConverter。因为如果可能的话,它实际上使用不安全的方法将字节数组转换为数字。
var dword = BitConverter.ToInt32(bytes, i);
这将在第一次执行时通过抖动进行优化。如果您自己尝试类似的方法,您将不会获得更好的性能。
关于C#字节操作优化: how to get dword from byte[] array,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43916052/