Frage

Könnte mir jemand sagen, wie kann ich byte [] zu Arraylist konvertieren von C # unter Windows Mobile verwenden?

Später bearbeiten:

  1. das ist wie mit einem Arraylist enthält Instanzen eines benutzerdefinierten Typs gehen würde. Diese Liste ist in eine Datenbank (in einen BLOB) als Byte-Array (die Umwandlung von dem Datenbank-API durchgeführt wird); Was ich will, ist die byte [] zu Arraylist zurückzukehren;

  2. .NET CF nicht die BinaryFormatter liefern;

War es hilfreich?

Lösung

Alle Arrays erben aus ICollection, so können Sie nur verwenden,

ArrayList list = new ArrayList(bytearray);

obwohl ich die generische List verwenden würde ich mit der gleichen Methode, wie die Boxen jeden Byte-Wertes in dem Feld verhindert. Obwohl Arrays den generischen IList für den jeweiligen Typen nicht staticly erben aus, die CLR entsprechende Implementierungen für jede Array-Instanz zur Laufzeit addieren (siehe wichtigen Hinweis hier )

Andere Tipps

Sie können nicht dies nur tun?

ArrayList list = new ArrayList(byteArray);

Arraylist ist nicht typisiert, und sollte nur für die Kompatibilität verwendet werden.

Ich schlage vor, Sie verwenden, um eine List :

var list = new List<byte>(byteArray);

Edit: Wenn die Datenbank-API die Umwandlung der Fall ist, sollte es nicht bieten eine Möglichkeit, deserialisieren? Versuchen Reflektor, um herauszufinden, wie es funktioniert die Konvertierung.

Es scheint, die CF nicht die BinaryFormatter unterstützen. Haben Sie die Komponente steuern, dass binäre Daten sendet? Sie können nicht die Daten in XML in dieser Komponente verwandeln? Wenn nicht werfen Sie einen Blick auf die Compact Formatter

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top