我有来自文件或网络的传入字节流(unsigned char)。我需要将这些数据放在一个类中,并且正在寻找一种NET方式来实现这一点。
我打赌有些人一直这样做,所以我猜有一种比使用BitConverter更好的方法。
我意识到我提供了太多的信息。让我尝试一个示例类:
class data {
void doSmething();
int var1;
float var2;
}
然后我想通过f.ex传输此类中包含的数据(var1和var2)。网络套接字并在另一端接收数据
答案 0 :(得分:3)
正如乔恩所说,目前尚不清楚,你需要什么。也许你在谈论也许Binary serialization你在寻找什么?
答案 1 :(得分:1)
你的意思并不完全清楚,但是如果你基本上想要一种缓冲数据的方法以便以后可以得到它,MemoryStream可能是你最好的选择。将所有数据写入其中,然后将Position设置为0,然后您可以再次读取数据。
答案 2 :(得分:1)
你有2个选项或二进制序列化(如PiRX所说)或XML序列化,为了提高性能,二进制文件越好,但我更喜欢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;
}
}
答案 3 :(得分:0)
你可以使用std :: string类。它的一个构造函数将char *作为参数,因此您可以直接从char *转换为string。和string是存储字符串的好方法。转到http://www.cppreference.com/了解有关字符串的更多信息