有人可以给我一个例子,说明如何使用C#将byte []转换为Hashtables的ArrayList? (byte []表示先前已序列化的Hashtables的ArrayList)

注意:我在Windows Mobile下运行,它不提供BinaryFormatter。

有帮助吗?

解决方案

  

此外,我的ArrayList由数据库API自动转换为byte []

坦率地说,您将拥有来查找用于重建此数据的实际序列化API。它可能是BinaryFormatter,这是众所周知的非便携和版本不容忍。

如果您需要将数据存储为二进制文件,并在长期(数据库)和平台(CF)之间使用它,那么您将不得不使用合适的序列化程序。例如, protobuf-net 主要 (虽然它不喜欢无类型ArrayList,更喜欢键入List<T>等)。

如果数据 当前存储为<=>,那么您最好的选择是使用当前系统提取数据并将其重新打包(可能在不同的列或表中)更合适的序列化格式。

其他提示

当你说<!> quot;之前序列化了<!>“;你的意思是<!> quot;序列化与BinaryFormatter <!>“;?如果是这样,不 - 你也需要<=>反序列化。如果Compact Framework不支持,那你基本上不走运。我的意思是,如果序列化格式记录在某处(我不确定它是否存在),可以编写自己的<=> - 但这可能有点棘手。

相反,您应该选择在序列化/反序列化所需的任何位置支持的序列化格式。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top