Question

J'ai un flux d'octets entrant (caractère non signé) provenant d'un fichier ou d'un réseau. J'ai besoin de ces données placées dans une classe et cherche un moyen NET de le faire.

Je parie que certains le font tout le temps, alors je suppose qu'il existe une meilleure méthode pour le faire que d'utiliser BitConverter.

Je réalise que j'ai fourni trop peu d'informations. Laissez-moi essayer avec un exemple de classe:

class data { 
void doSmething(); 
int var1; 
float var2; 
} 

Ensuite, je souhaite transférer les données (var1 et var2) contenues dans cette classe sur f.ex. une prise réseau et recevoir les données à l’autre extrémité

Était-ce utile?

La solution

Comme Jon l'a mentionné, ce dont vous avez besoin n'est pas clair. Vous parlez peut-être de la Sérialisation binaire que recherchez-vous?

Autres conseils

Vous ne comprenez pas bien ce que vous voulez dire, mais si vous cherchez fondamentalement un moyen de mettre les données en mémoire tampon afin de pouvoir les récupérer plus tard, MemoryStream est probablement votre meilleur pari. Ecrivez toutes vos données, puis définissez Position à 0 et vous pourrez relire les données.

Vous avez 2 options: la sérialisation binaire (comme l'a dit PiRX) ou la sérialisation XML. Pour des performances optimales, le meilleur est le binaire, mais je préfère la sérialisation xml pour sa lisibilité:

 [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;
            }
        }

vous pouvez utiliser la classe std :: string. Un de ses constructeurs prend char * comme argument afin que vous puissiez passer directement de char * à string. et string est un excellent moyen de stocker vos chaînes de caractères. Pour plus d'informations sur les chaînes, consultez http://www.cppreference.com/ .

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