如何将byte []转换为Hashtables的ArrayList?
题
有人可以给我一个例子,说明如何使用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不支持,那你基本上不走运。我的意思是,如果序列化格式记录在某处(我不确定它是否存在),可以编写自己的<=> - 但这可能有点棘手。
相反,您应该选择在序列化/反序列化所需的任何位置支持的序列化格式。
不隶属于 StackOverflow