質問
ファイルまたはネットワークからバイト(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/ にアクセスしてください
所属していません StackOverflow