C#将值类型与字节数组互相转换,主要用到BitConverter类。示例代码如下:
转换时需要注意字节数组的长度,该长度必须大于等于要转换的数值类型变量所占的字节数,如:要将字节数组转换为int,则该数组必须至少包含有4个字节项,要转换为long,则该数组必须至少包含8个字节项。BitConverter执行数值转换时,若转换为int型,则会从指定的起始索引开始,从数组中取4个字节出来转换为int,若转换为long型,则会从指定的起始索引开始,从数组中取8个字节出来转换为long。若数组的项数不足,则在用BitConverter.ToInt时,会引发System.ArgumentException,报“目标数组长度不足”的异常。
C#将值类型变量转换为字节数组时,只需调用BitConverter.GetBytes()方法即可。