как конвертировать byte [] в ArrayList из Hashtables?

StackOverflow https://stackoverflow.com/questions/1437121

  •  08-07-2019
  •  | 
  •  

Вопрос

Может кто-нибудь дать мне пример того, как я могу преобразовать байт [] в ArrayList из Hashtables с C #? (byte [] представляет ArrayList Hashtables, который был ранее сериализован)

Примечание: я работаю под Windows Mobile, которая не предоставляет BinaryFormatter.

Это было полезно?

Решение

  

Кроме того, мой ArrayList автоматически преобразуется API-интерфейсом базы данных в байт []

Честно говоря, у вас есть , чтобы найти действительный API сериализации, используемый для возможности восстановления этих данных. Это, вероятно, BinaryFormatter, который, как известно, непереносим и нетерпим к версии.

Если вам нужно хранить данные в двоичном виде и использовать их в течение длительного времени (база данных) и между платформами (CF), то вам придется использовать подходящий сериализатор. Например, protobuf-net будет работать в основном (хотя ему не понравится типизированный ArrayList, предпочтительнее типизированный List<T> и т. д.).

Если данные в настоящее время хранятся как <=>, то лучше всего их извлечь из текущей системы и упаковать (возможно, в другой столбец или таблицу) в более подходящий формат сериализации.

Другие советы

Когда вы говорите " это было ранее сериализовано " Вы имеете в виду " сериализован с BinaryFormatter " ;? Если это так, нет - вам нужно <=> также выполнить десериализацию. Если Compact Framework не поддерживает это, вам в основном не повезло. Я имею в виду, если формат сериализации задокументирован где-то (я не уверен, так ли это или нет), вы могли бы написать свой собственный <=> - но это, вероятно, было бы несколько сложно.

Вместо этого вы должны выбрать формат сериализации, который поддерживается везде, где вам нужно сериализовать / десериализовать.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top