在我们的应用程序中,我们有一个非常大的字节数组,我们必须将这些字节转换为不同的类型。目前,我们BitConverter.ToXXXX()
用于此目的。我们的重击手是,ToInt16
和ToUInt64
。
对于UInt64
,我们的问题是数据流实际上有 6 个字节的数据来表示一个大整数。由于没有将 6 字节数据转换为 的本机函数UInt64
,我们这样做:
UInt64 value = BitConverter.ToUInt64() & 0x0000ffffffffffff;
我们的使用ToInt16
更简单,不用做任何位操作。
我们做了很多这两个操作,所以我想问 SO 社区是否有更快的方法来进行这些转换。目前,这两个函数消耗了我们整个 CPU 周期的大约 20%。