Matrice di caratteri in una classe
Domanda
Ho un flusso in entrata di byte (carattere senza segno) da un file o da una rete. Ho bisogno che questi dati vengano inseriti in una classe e sto cercando un modo NET per farlo.
Scommetto che qualcuno lo fa sempre, quindi immagino che ci sia un metodo migliore per farlo che usare BitConverter.
Mi rendo conto di aver fornito informazioni troppo piccole. Vorrei provare con una classe di esempio:
class data {
void doSmething();
int var1;
float var2;
}
Quindi voglio trasferire i dati (var1 e var2) contenuti in questa classe tramite f.ex. un socket di rete e ricevere i dati dall'altra parte
Soluzione
Come menzionato Jon, non è chiaro di cosa hai bisogno. Forse stai parlando forse è serializzazione binaria cosa stai cercando?
Altri suggerimenti
Non è del tutto chiaro cosa intendi, ma se stai fondamentalmente cercando un modo per bufferizzare i dati in modo da poterli ottenere in seguito, MemoryStream è probabilmente la soluzione migliore. Scrivi tutti i tuoi dati, quindi imposta Position a 0 e puoi rileggere nuovamente i dati.
Hai 2 opzioni o serializzazione binaria (come diceva PiRX) o serializzazione XML, per prestazioni, meglio è binario, ma preferisco la serializzazione xml per la sua leggibilità:
[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;
}
}
puoi usare la classe std :: string. Uno dei suoi costruttori prende char * come argomento in modo da poter passare direttamente da char * a stringa. e la stringa è un ottimo modo per memorizzare le stringhe di caratteri. vai a http://www.cppreference.com/ per ulteriori informazioni sulle stringhe