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

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

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

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

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

有帮助吗?

解决方案

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

其他提示

目前尚不完全清楚您的意思,但如果您基本上是在寻找一种缓冲数据的方法,以便稍后可以获取它, 内存流 可能是你最好的选择。将所有数据写入其中,然后设置 位置 到0,你可以再次读回数据。

你有 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;
            }
        }

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top