C# 将字节数组强制转换为对象数组
可能重复:C# 将字节数组强制转换为对象数组,c#,c#-4.0,C#,C# 4.0,可能重复: 为什么 object h = new byte(); 可能及 object[] h = new byte[5]; 不是吗 如何将字节数组强制转换为对象数组 谢谢大家! 第一个示例框中有一个值 在第二个示例中,您尝试转换整个数组。那根本不管用。对象数组的每个元素都是一个对象变量。字节数组的每个元素都是一个字节变量。他们没有共同的代表——你就是做不到 您可以很容易地从字节数组创建新的对象数组,例如 object[] objects = bytes.Cast<object>
为什么
object h = new byte();
可能及
object[] h = new byte[5];
不是吗
如何将字节数组强制转换为对象数组
谢谢大家! 第一个示例框中有一个值
在第二个示例中,您尝试转换整个数组。那根本不管用。对象
数组的每个元素都是一个对象
变量。字节
数组的每个元素都是一个字节
变量。他们没有共同的代表——你就是做不到
您可以很容易地从字节数组创建新的对象数组,例如
object[] objects = bytes.Cast<object>().ToArray();
当您尝试在代码中强制转换数组时,强制转换失败,因为您正在将保存类型字节的数组强制转换为保存类型对象的数组;数组包含的类型不同。将值类型强制转换为类型对象时,您正在装箱(取消装箱将对象转换为值类型)<代码>对象h=新字节()代码>是装箱。在数组代码中进行强制转换时,这不是装箱,这就是它失败的原因。这与:
byte[] bytes = ...;
Array array = bytes;