matriz de char a uma classe
Pergunta
I têm um fluxo de entrada de bytes (unsigned char) a partir de um arquivo ou de rede. Eu preciso esses dados colocado em uma classe, e está à procura de um NET-maneira de fazer isso.
Eu aposto que alguns faz isso o tempo todo, então eu acho que há um método melhor de fazer isso do que usando BitConverter.
Eu percebo que forneceu informações muito pouco desatualizada. Deixe-me tentar com uma classe de exemplo:
class data {
void doSmething();
int var1;
float var2;
}
Então eu quero transferir os dados (Q1 e Var2) contidos nesta classe sobre f.ex. uma tomada de rede e receber os dados na outra extremidade
Solução
Como Jon mencionado, não está claro, o que você precisa. Talvez você está falando talvez seja Binário serialização o que você está procurando?
Outras dicas
Não é inteiramente claro o que você quer dizer, mas se você está procurando basicamente uma maneira de amortecer os dados para que você possa chegar a ele mais tarde, MemoryStream é provavelmente a sua melhor aposta. Escreve todos os seus dados a ele, em seguida, definir Posição 0 e você pode ler os dados de volta novamente.
Você tem 2 opções ou Binário serialização (como disse Pirx) ou XML serialização, para o desempenho, o melhor é binário, mas eu prefiro xml serialização por sua legibilidade:
[Serializable]
[XmlRoot("CONFIGURATION")]
public class Configuration
{
EnterpriseCollection enterprises;
public Configuration()
{
enterprises= new EnterpriseCollection();
}
[XmlElement("ENTERPRISE")]
public EnterpriseCollection Enterprises
{
get
{
return this.enterprises;
}
set
{
this.enterprises = value;
}
}
private string name;
[XmlElement("NAME")]
public string Name
{
get
{
return name;
}
set
{
name = value;
}
}
Você pode usar a classe std :: string. Um de seus construtores leva * caractere como um argumento para que você possa ir direto do char * para string. e string é uma ótima maneira de armazenar suas cadeias de caracteres. ir para a http://www.cppreference.com/ para obter mais informações sobre cerca de cordas