3

我有一个来自文件或网络的传入字节流(无符号字符)。我需要将这些数据放在一个类中,并且正在寻找一种 NET 方式来执行此操作。

我敢打赌,有些人总是这样做,所以我想有比使用 BitConverter 更好的方法来做到这一点。

我意识到我提供的信息太少了。让我尝试一个示例类:

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

然后我想通过 f.ex 传输这个类中包含的数据(var1 和 var2)。一个网络套接字并在另一端接收数据

4

4 回答 4

3

正如乔恩所提到的,尚不清楚您需要什么。也许您在谈论也许您正在寻找的是二进制序列化?

于 2008-11-24T09:49:27.120 回答
1

尚不完全清楚您的意思,但是如果您基本上是在寻找一种缓冲数据的方法以便以后可以使用,那么MemoryStream可能是您最好的选择。将所有数据写入其中,然后将Position设置为 0,您可以再次读取数据。

于 2008-11-24T09:44:13.883 回答
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;
            }
        }
于 2008-11-24T10:16:36.517 回答
0

您可以使用 std::string 类。它的一个构造函数将 char* 作为参数,因此您可以直接从 char* 转到字符串。string 是存储字符串的好方法。 有关字符串的更多信息,请访问http://www.cppreference.com/

于 2008-11-25T01:40:02.520 回答