用于将字节存储为流的C#类

用于将字节存储为流的C#类,c#,C#,我想要一个类似流的类,在那里我可以以自己的格式存储数据 我决定在流的特定位置存储什么 例如,我将使用流的前两个字节来存储一个长整数n。在接下来的n个字节中,我将存储一个特定的字符串。之后是unicode中的名称。。。。等等 我检查了stream类,但它似乎是一个抽象类,而不是为处理字节流而构建的类。哪门课是这门课 我考虑过字节数组。但是有更好的类吗(在这种情况下,我必须手动将一个long拆分为8个字节) 那么,是否有专门针对我的需求的内置类?尝试将流视为持久化对象的访问器。stream类被设计为

我想要一个类似流的类,在那里我可以以自己的格式存储数据

我决定在流的特定位置存储什么

例如,我将使用流的前两个字节来存储一个长整数n。在接下来的n个字节中,我将存储一个特定的字符串。之后是unicode中的名称。。。。等等

我检查了stream类,但它似乎是一个抽象类,而不是为处理字节流而构建的类。哪门课是这门课

我考虑过字节数组。但是有更好的类吗(在这种情况下,我必须手动将一个long拆分为8个字节)


那么,是否有专门针对我的需求的内置类?

尝试将流视为持久化对象的访问器。stream类被设计为更具体实现的接口。例如,对象是用于读取/写入文件的访问器。如果您只需要在内存中存储数据,请查看该类。

尝试将流视为持久化对象的访问器。stream类被设计为更具体实现的接口。例如,对象是用于读取/写入文件的访问器。如果您只需要在内存中存储数据,请查看该类。

您需要的是流的类似System.IO.Stream的类,以及用于转换非字符串值的BitConverter类,用于将字符串转换为字节序列的编码,可能是BinaryFormatter,具体取决于使用情况

stream类可以继承System.IO.stream,也可以简单地包装它,具体取决于您打算如何使用它


作为记录,您不应该手动拆分您的数字-将其留给框架中的适当实现。另外,long是8字节,而不是位。

您需要的是流的类似System.IO.Stream的类,以及用于转换非字符串值的BitConverter类,用于将字符串转换为字节序列的编码,可能是二进制格式化程序,具体取决于使用情况

stream类可以继承System.IO.stream,也可以简单地包装它,具体取决于您打算如何使用它


作为记录,您不应该手动拆分您的数字-将其留给框架中的适当实现。长的也是8字节,而不是位。

如果您想轻松地以二进制格式存储类或任何其他对象,请查看对象序列化

如果您想轻松地以二进制格式存储类或任何其他对象,请查看对象序列化

MemoryStream classor BinaryReader,BinaryWriter for fileswell MemoryStream classor BinaryReader,BinaryWriter for fileswell这是我的最终目标。要存储和重新生成一个简单的类,我必须在一个会话中处理数千个这样的实例。所以我认为在计算、RAM使用以及与服务器通信时的数据使用方面都太昂贵了(数据存储在服务器中,所有使用我的应用程序的用户都可以通过互联网访问)。所以我想用我的方式来实现优化。你应该在你的问题中包括这样的细节,因为可能有更好的方法。在发送数据之前压缩数据可以节省大量流量。这是我的最终目标。要存储和重新生成一个简单的类,我必须在一个会话中处理数千个这样的实例。所以我认为在计算、RAM使用以及与服务器通信时的数据使用方面都太昂贵了(数据存储在服务器中,所有使用我的应用程序的用户都可以通过互联网访问)。所以我想用我的方式来实现优化。你应该在你的问题中包括这样的细节,因为可能有更好的方法。在发送数据之前压缩数据可以节省大量通信量。