wie byte [] zu einem Arraylist von Hashtables konvertieren?
Frage
Könnte jemand bitte geben Sie mir ein Beispiel dafür, wie kann ich ein byte [] zu einem Arraylist von Hashtables mit C # zu konvertieren? (Das Byte [] die Arraylist von Hashtables die zuvor serialisiert wurde)
. Hinweis: Ich bin unter Windows Mobile, die BinaryFormatter bietet keine
Lösung
Auch meine Arraylist automatisch von dem Datenbank-API in das Byte umgewandelt wird []
Ehrlich gesagt, gehen Sie auf Haben das tatsächliche Serialisierung-API verwendet zu finden, um eine Chance zu rekonstruieren diese Daten zu stehen. Es ist wahrscheinlich BinaryFormatter
, die notorisch nicht tragbar und versions intolerant ist.
Wenn Sie Notwendigkeit Daten als binär zu speichern, und verwenden Sie es langfristige (Datenbank) und zwischen Plattformen (CF), dann werden Sie eine geeignete Serializer zu verwenden. Zum Beispiel protobuf-net funktionieren würde, in Haupt (obwohl es nicht untypisierten ArrayList
mag, lieber getippt List<T>
usw.).
Wenn die Daten sind zur Zeit gespeichert, wie BinaryFormatter
, dann Ihre beste Wette wäre, um sie zu extrahieren Ihr aktuelles System und umverpacken es (vielleicht in einer anderen Spalte oder Tabelle) in einem geeigneteren Serialisierungsformat.
Andere Tipps
Wenn Sie sagen, „das war vorher serialisiert“ meinen Sie „serialisiert mit BinaryFormatter
“? Wenn ja, nein - Sie würden BinaryFormatter
müssen deserialisieren. Wenn das Compact Framework nicht, dass unterstützen, sind Sie im Grunde kein Glück. Ich meine, wenn das Serialisierungsformat irgendwo dokumentiert ist (ich bin mir nicht sicher, ob es oder nicht) Sie könnte Ihre eigene BinaryFormatter
schreiben - aber es wäre wahrscheinlich etwas schwierig sein
Stattdessen sollten Sie eine Serialisierung Format wählen, die überall unterstützt Sie brauchen / deserialize serialisiert werden.