BYTE数组转INT我有这段代码staticvoidMain(string[]args){byte[]array=newbyte[2]{0x00,0x1f};Console.WriteLine(BitConverter.ToInt32(array,0));但它不起作用。它抛出一个异常:目标数组的长度不足以复制集合中的所有项目。检查数组索引和长度。怎么了?顾名思义,Int32是32位或4个字节,所以如果要将字节数组转换为Int32,则长度至少需要4,(或者更准确地说,它至少需要4)起始位置之后的字节数)。如果你只有两个字节,也许你想使用ToInt16?Int32由4个字节组成,但是这个数组只有2个。解决这个问题的一种方法是先转换为Int16,然后再转换为Int32Console.WriteLine((Int32)(BitConverter.ToInt16(array,0)));请注意,在此特定用法中,从Int16转换为Int32不会改变任何内容,因为数字打印相同。BitConverter.ToInt32上的文档说:ToInt32方法将索引startIndex到startIndex+3处的字节转换为Int32值。至少需要指定4个字节,其实你只需要2个。以上就是C#学习教程:将BYTE数组转换为INT所有内容分享给大家。如果对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权请点击右侧联系管理员删除。如需转载请注明出处:
