byte 到ArrayList?

有人可以告诉我如何在Windows Mobile下使用C#将byte []转换为ArrayList?

稍后编辑:

  1. 这就像拥有一个包含自定义类型实例的ArrayList。 此列表作为字节数组转发到数据库(转换为blob)(转换由数据库API完成); 我想要的是将byte []还原为ArrayList;

  2. .NET CF不提供BinaryFormatter;

所有数组都inheritanceICollection,因此您可以使用

ArrayList list = new ArrayList(bytearray); 

虽然我会使用相同的方法自己使用通用List ,因为这可以防止数组中每个字节值的装箱。 虽然数组不会静态地inheritance相应类型的通用IList,但CLR会在运行时向每个数组实例添加相关实现(请参阅此处的重要说明)

你不能这样做吗?

 ArrayList list = new ArrayList(byteArray); 

ArrayList是无类型的,只应用于兼容性。

我建议你使用List

 var list = new List(byteArray); 

编辑:如果数据库API进行转换,它不应该提供反序列化的方法吗? 尝试使用Reflector了解它如何进行转换。

看起来CF不支持BinaryFormatter 。 您是否控制发送该二进制数据的组件? 你不能将数据转换为该组件中的Xml吗? 如果没有看看Compact Formatter