C#字节操作优化: how to get dword from byte[] array

标签 c# .net micro-optimization

是否可以在一次操作中从 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/

相关文章:

c# - URF 与 WPF MVVM Caliburn Micro

c# - 每个类型的表继承插入问题

.net - 如何在托管接口(interface)类中提供委托(delegate)

c# - 在 C# 中获取内核时间

python - Python 中哪个更快, "while"或 "for xrange"

c++ - 作为微优化,是否值得用 C 而不是 C++ 编写部分代码?

c# - 将非托管 dll 的 Delphi 代码转换为 C#

c# - 从sql数据库检索图像(字节数组)并显示图像

c# - 禁用 WPF 窗口的最大化按钮,保持调整大小功能不变

java - 智能 JVM 和 JIT 微优化