加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

在VB.Net中将字节数组转换为整数

发布时间:2020-12-17 07:27:02 所属栏目:百科 来源:网络整理
导读:我想知道将字节数组(长度为4)转换为整数的最佳方法是在vb.net中?我知道BitConverter,但是做一个函数调用做一些应该可以通过复制4个字节的内存完成的事情似乎是一种浪费.同样,如何将单个/双精度从它的二进制表示转换为单个/双变量. 解决方法 “复制内存字节
我想知道将字节数组(长度为4)转换为整数的最佳方法是在vb.net中?我知道BitConverter,但是做一个函数调用做一些应该可以通过复制4个字节的内存完成的事情似乎是一种浪费.同样,如何将单个/双精度从它的二进制表示转换为单个/双变量.

解决方法

“复制内存字节”是.NET不是特别适合的(而VB.NET甚至更少).因此,除非切换到C是一个选项,否则函数调用几乎是不可避免的.

BitConverter是经过深思熟虑,经过测试的功能.当然,您可以通过执行类似(在C#中)的操作来避免它:

myInt = (*pbyte) | (*(pbyte + 1) << 8)  | (*(pbyte + 2) << 16) | (*(pbyte + 3) << 24);

(顺便说一下,在将字节数组转换为整数时,BitConverter正是为您做的…).

但是,这段代码:

>比BitConverter等价物更难阅读和理解;
>不执行BitConverter为您执行的任何错误检查;
>不像BitConverter那样区分little-endian和big-endian表示.

换句话说:你可能会“保存”一个函数调用,但最终你会变得更糟(甚至假设你没有引入任何错误).一般来说,.NET Framework设计得非常非常好,除非遇到实际(性能)问题,否则不应该再考虑使用它的功能.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读