如何将字节数组转换为int数组?我有一个包含144个项目的字节数组,由于缺乏经验,我尝试的方法效率很低。如果之前已经回答了这个问题,我很抱歉,但是我无法在任何地方找到合适的答案。如何将字节数组转换为int数组?
回答
简单:
//Where yourBytes is an initialized byte array.
int[] bytesAsInts = yourBytes.Select(x => (int)x).ToArray();
请务必包括System.Linq
与使用声明:
using System.Linq;
如果LINQ是不是你的东西,你可以使用它代替:
int[] bytesAsInts = Array.ConvertAll(yourBytes, c => (int)c);
我得到一个错误:'byte []'不包含'Select'的定义,没有扩展方法'Select'接受类型'byte []'的第一个参数'可以找到(您是否缺少使用指令或程序集引用?) – user1166981
@ user1166981:请确保在您的项目中引用'System.Linq'。 (顺便说一句,您的.NET框架是哪个版本的?) – Ryan
好的,删除了错误,谢谢 – user1166981
我知道这是一个旧的帖子,但如果你正在寻找第一个获得整数数组的包字节数组ED(它可以考虑144元的你的阵列字节),这是一种方式做到这一点:
var size = bytes.Count()/sizeof (int);
var ints = new int[size];
for (var index = 0; index < size; index++)
{
ints[index] = BitConverter.ToInt32(bytes, index * sizeof (int));
}
注:在需要时采取的存储方式的照顾。 (而在它最的情况下)
不错,一直在寻找这个。人们似乎忘记了(int)byteVar与将bytearray转换为int(例如,一个int为4个字节)不一样 – Sliver2009
有一个更好的解决方案:https://stackoverflow.com/a/5896716/238419问题是关于'int []'到'byte []',但是这个解决方案应该工作 –
现在是简单的像如下,
int[] result = Array.ConvertAll(bytesArray, Convert.ToInt32);
- 1. 将字节数组转换为int
- 2. PHP将字节数组转换为int
- 3. 将int转换为字节数组BufferOverflowException
- 4. 转换字节数组INT
- 5. 如何将Java字节数组转换为Scala字节数组?
- 6. 如何将int数组转换为int?
- 7. 将字节数组转换为int数组中的错误#
- 8. 将int数组转换为Golang中的字节数组
- 9. INT转换为一个字节数组
- 10. int转换为BCD字节数组
- 11. int转换为BCD字节数组
- 12. JavaScript:如何将多字节字符串数组转换为32位int数组?
- 13. 如何将int数组转换为可为null的int数组?
- 14. 如何将int转换为小端字节数组?
- 15. 如何将int转换为字节数组然后返回?
- 16. 如何将字符串数组转换为int数组?
- 17. 如何将字符串数组转换为字节数组? (java)
- 18. 转换为字节数组为int数组填充
- 19. 将GUID数组转换为int数组
- 20. 将char数组转换为int数组?
- 21. 如何将const unsigned int数组转换为int数组
- 22. 将字符串数组(字节值)转换为字节数组
- 23. 如何将int转换为Byte数组?
- 24. 如何将char数组转换为int?
- 25. 如何将Linq数组[]转换为int []?
- 26. 将byte []数组转换为字节数
- 27. 将字符串转换为int数组
- 28. 将int转换为字符串数组
- 29. C++将int转换为字符数组?
- 30. 将字符串转换为int数组
什么是你已经尝试的途径? – Marlon
刚才提到 - 字节是8位,int是32位,并且您正在将一个字节转换为int。 – Bakudan