質問

ファイルまたはネットワークからバイト(unsigned char)の着信ストリームがあります。このデータをクラスに配置する必要があり、これを行うためのNETの方法を探しています。

常にこれを行う人がいるので、BitConverterを使用するよりも、これを行うためのより良い方法があると思います。

私が提供した情報があまりにも少ないことに気付きました。クラスの例を試してみましょう:

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

次に、このクラスに含まれるデータ(var1およびvar2)をf.ex経由で転送します。ネットワークソケットを使用して、もう一方の端でデータを受信します

役に立ちましたか?

解決

Jonが述べたように、何が必要かは明確ではありません。多分あなたが話しているのは、バイナリシリアル化探しているもの

他のヒント

その意味は完全には明らかではありませんが、後でデータを取得できるようにデータをバッファリングする方法を基本的に探している場合は、 MemoryStream がおそらく最善の策です。すべてのデータを書き込み、位置を0にすると、データを再度読み取ることができます。

2つのオプション、またはバイナリシリアル化(PiRXによる)またはXMLシリアル化の2つのオプションがあります。パフォーマンスのためには、バイナリの方が良いですが、読みやすさからxmlシリアル化を好みます:

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

std :: stringクラスを使用できます。コンストラクターの1つは、char *を引数として使用するため、char *から文字列に直接移動できます。文字列は、文字列を保存するための優れた方法です。文字列の詳細については、 http://www.cppreference.com/ にアクセスしてください

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top