繁体   English   中英

将结构保存到C#文件中

[英]Save struct into a file In C#

我想将数据结构保存在C#文件中,但是我不想使用序列化和反序列化来实现它。 我想像在C和C ++语言中一样执行此操作。

System.IO-文件和流

要在C#/。NET中以“老式方式”实现它,基于C ++可能使用原始文件和流的假设,您需要从.NET Framework的System.IO名称空间开始。

注意:这使您可以在文件读取/写入过程中完成自定义,因此您不必依赖隐式的序列化机制。

可以使用System.IO.FileSystem.IO.FileInfo来访问Streams来管理和打开文件。 (请参阅该页面底部的继承层次结构,以查看不同类型的流。)

助手类

因此,您不必直接操纵位和字节(除非您愿意)。

对于二进制文件访问 ,可以使用System.IO.BinaryReaderBinaryWriter 例如,它可以轻松地在本机数据类型和流字节之间进行转换。

对于基于文本的访问文件访问,请使用System.IO.StreamReaderStreamWriter 让我们使用字符串和字符,而不用担心字节。

随机访问

如果流支持随机访问,请使用Stream.Seek(..)之类的方法根据您决定用于确定记录长度的任何算法来跳转。

如果您不想序列化它,则始终可以使用BitConverter通过GetBytes将成员转换为字节,然后将其直接写入Stream中。

您可以使用PtrToStructureStructureToPtr来将内容转储到字节数组中的未类型化数据中/从未类型化数据中转储出来,您可以轻松地将其作为一个块推送到文件中。 如果您的结构包含对其他对象的引用,则不要尝试这种方法(也许尝试保留索引)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM