Question

Quelqu'un peut-il me donner un exemple, comment puis-je convertir un octet [] en une ArrayList of Hashtables avec C #? (l'octet [] représente la liste de tableaux de hachage ArrayList précédemment sérialisée)

Remarque: je suis sous Windows Mobile, ce qui ne fournit pas BinaryFormatter.

Était-ce utile?

La solution

  

De plus, mon ArrayList est automatiquement converti par l'octet de base de données en octet []

.

Franchement, vous allez devoir trouver l'API de sérialisation utilisée pour avoir une chance de reconstruire ces données. C’est probablement BinaryFormatter qui est notoirement non-portable et intolérant à la version.

Si vous avez besoin de stocker les données sous forme binaire et de les utiliser à long terme (base de données) et entre plates-formes (CF), vous devrez utiliser un sérialiseur approprié. Par exemple, protobuf-net fonctionnerait en principe (bien que cela ne ressemble pas à ArrayList non typé, préférant taper List<T> etc.).

Si les données sont actuellement stockées sous <=>, le mieux serait de les extraire à l'aide de votre système actuel et de les reconditionner (peut-être dans une autre colonne ou table) dans un fichier. format de sérialisation plus approprié.

Autres conseils

Lorsque vous dites & "; il a déjà été sérialisé &"; voulez-vous dire " sérialisé avec BinaryFormatter " Si tel est le cas, non, vous aurez également besoin de <=> désérialiser. Si le Compact Framework ne le supporte pas, vous n’avez pas de chance. Je veux dire, si le format de la sérialisation est documenté quelque part (je ne suis pas sûr qu'il le soit ou non), vous pourriez écrire votre propre <=> - mais ce serait probablement un peu délicat.

Au lieu de cela, vous devez choisir un format de sérialisation pris en charge partout où vous devez sérialiser / désérialiser.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top