应该如何理解BitConverter.GetBytes(byte)


byte a = 0;
byte[] arr = BitConverter.GetBytes(a);
应该如何理解BitConverter.GetBytes(byte)

这种代码应该如何理解?把1个字节变为2个字节 到底有什么用?

你应先了解基础数据类型是如何使用二进制表示的。

应该是我没表达明白,实际上GetBytes没有一个byte参数的重载,而是将byte转成了int16,但为什么要传一个byte?我就是不明白为什么要这样,这样写的话会得到一个包含2个元素的数组,其中高8位是这个byte,低8位就是0,这到底有什么意义?

既然没有 byte 类型参数的重载,那么函数会自动将 byte 转换为最接近的相容的数据类型(int16)再处理。

也就是说,凡是 int16 类型(不限于,int32、int64也可以)可以出现的地方,也可以使用 byte 类型,因为这些类型都www.9iBee.com相容与 byte。

byte 向上转换为short 看业务需求吧,数据解析增加安全性,规律

 

你可能感兴趣的:(应该如何理解BitConverter.GetBytes(byte))