Pergunta

Alguém poderia me dizer como posso converter byte [] para ArrayList usando C # no Windows Mobile?

Editar Depois:

  1. este iria como ter um ArrayList que contém instâncias de um tipo personalizado. Esta lista vai para um banco de dados (em um blob) como uma matriz de bytes (a conversão é feita pela API base de dados); O que eu quero é reverter o byte [] para ArrayList;

  2. .NET CF não fornece a BinaryFormatter;

Foi útil?

Solução

Todas as matrizes herdar off ICollection, assim você pode simplesmente usar

ArrayList list = new ArrayList(bytearray);

embora eu usaria o genérico List me usando o mesmo método, como que impede o boxe do valor de cada byte na matriz. Embora matrizes não staticly herdar fora do IList genérico para o respectivo tipo, a CLR adiciona implementações relevantes para cada instância de matriz em tempo de execução (ver a Nota Importante aqui )

Outras dicas

Você não pode simplesmente fazer isso?

ArrayList list = new ArrayList(byteArray);

ArrayList é sem tipo, e só deve ser utilizada para compatibilidade.

Eu sugiro que você use uma lista :

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

Edit: Se a API de banco de dados faz a conversão, que não deveria fornecer uma maneira de deserialize? Tente usar refletor para descobrir como ele faz a conversão.

Parece que a CF não suporta a BinaryFormatter. Você controla o componente que está enviando os dados binários? você não pode transformar os dados para XML em que o componente? Se não dar uma olhada na Compact Formatter

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top