可能是重复问题:
无法将值类型数组转换为params object[] 为什么?
无法将值类型数组转换为params object[] 为什么?
object h = new byte();
可能性和
object[] h = new byte[5];
不是吗?
如何将字节数组转换为对象数组?
谢谢!
object h = new byte();
可能性和
object[] h = new byte[5];
不是吗?
如何将字节数组转换为对象数组?
谢谢!
object[] objects = bytes.Cast<object>().ToArray();
但是你不能将字节数组当作一个对象数组来处理。
另一种方法是可以使用 System.Array
类型,它与 byte[]
兼容。这有帮助吗?
byte[] bytes = ...;
Array array = bytes;
当你尝试将数组转换为代码中的类型时,转换会失败,因为你正在将一个包含字节类型的数组转换为一个包含对象类型的数组;数组所持有的类型不同。将值类型转换为对象类型时,就是装箱(拆箱将对象转换为值类型)。object h = new byte();
就是装箱。当你在数组代码中进行转换时,那就不是装箱,这就是为什么它失败的原因。