C# 存储大量文本数据的最佳方法?

C# 存储大量文本数据的最佳方法?,c#,file-io,text-files,C#,File Io,Text Files,我计划建立一个新游戏加载的“数据文件”,这个文件包含了我们所说的300-400个文本,甚至可能是这个文件的两倍,段落和一些琐碎的数据。基本上,将这些数据存储在文件中的最佳方式是什么。 有几个要求: 向后/向前兼容—能够优雅地接受旧数据并识别新数据 可加密,所以像sqlite这样的东西是不好的? 重量轻,装载速度快 可能是某种反腐败的恢复部门。 基本上,有适合我需要的东西吗?或者这将是一个“你自己滚”的局面,这两种情况都没有问题。如果是我自己的,你会推荐什么 我几乎把XML扔出了窗口,太“庞大”和

我计划建立一个新游戏加载的“数据文件”,这个文件包含了我们所说的300-400个文本,甚至可能是这个文件的两倍,段落和一些琐碎的数据。基本上,将这些数据存储在文件中的最佳方式是什么。 有几个要求:

向后/向前兼容—能够优雅地接受旧数据并识别新数据 可加密,所以像sqlite这样的东西是不好的? 重量轻,装载速度快 可能是某种反腐败的恢复部门。 基本上,有适合我需要的东西吗?或者这将是一个“你自己滚”的局面,这两种情况都没有问题。如果是我自己的,你会推荐什么

我几乎把XML扔出了窗口,太“庞大”和复杂了,我想的是一个虚拟文件系统,有一个用于快速读取数据的“位置表”


我很好奇其他程序员会说些什么。

很抱歉你抛弃了XML。一旦你掌握了窍门,你就很容易掌握它,而当你掌握窍门的时候,它是一种能让你从一个工作带到另一个工作的技能


老实说,XML就是我要做的。我在游戏中使用的是Java,不是c,但不管怎样,所有的任务文本和NPC交互都存储在XML中。

很抱歉您丢弃了XML。一旦你掌握了窍门,你就很容易掌握它,而当你掌握窍门的时候,它是一种能让你从一个工作带到另一个工作的技能


老实说,XML就是我要做的。我在游戏中使用的是Java,不是c,但不管怎样,所有的任务文本和NPC交互都存储在XML中。

您对“大”XML开销的看法有点错误。它没有您想象的那么大,而XML提供了极大的灵活性。看看一些XML解析器——它们非常简单。

您对“大”XML开销的看法有点错误。它没有您想象的那么大,而XML提供了极大的灵活性。看看一些XML解析器——它们非常简单。

XML和JSON都是很好的数据存储格式,尽管XML对于某些应用程序更灵活,而对于其他应用程序则过于灵活


如果经常手工编辑XML,则XML是“笨重”的;如果不压缩XML,则在磁盘上编辑。XML和JSON都是很好的数据存储格式,尽管XML对某些应用程序来说更灵活,而对其他应用程序来说则过于灵活


如果经常手工编辑XML,则XML是“笨重”的;如果不压缩XML,则在磁盘上编辑。它的gzip非常好。

XML似乎给文件增加了大量的“开销”?我同意它符合我所有的标准,但我只是不知道。如果您知道在C中处理它的任何非常简单的方法,那么您可以将它卖给我:LINQtoXML是一种与XML交互的伟大技术。请阅读本页的“5分钟概述”,让您了解如何使用它。还想在其中存储一些lua脚本。@R4000:您是否已证明开销是应用程序中的一个问题?在什么情况下,开销会成为一个问题?如果您的答案是否定的/我不知道,那么您在这种情况下过早地进行了优化。@Ed S。这很公平,但在这种情况下,我决定还需要将LUA脚本与一些XML一起存储,我想这不推荐吗?我真的不想分成两个文件XML似乎给文件增加了大量的“开销”?我同意它符合我所有的标准,但我只是不知道。如果您知道在C中处理它的任何非常简单的方法,那么您可以将它卖给我:LINQtoXML是一种与XML交互的伟大技术。请阅读本页的“5分钟概述”,让您了解如何使用它。还想在其中存储一些lua脚本。@R4000:您是否已证明开销是应用程序中的一个问题?在什么情况下,开销会成为一个问题?如果您的答案是否定的/我不知道,那么您在这种情况下过早地进行了优化。@Ed S。这很公平,但在这种情况下,我决定还需要将LUA脚本与一些XML一起存储,我想这不推荐吗?我真的不想分成两个文件,就像添加一样,我也想存储一些LUA脚本。如果这改变了什么,你研究过JSON吗?它拥有XML提供的大部分功能,但并没有太多的语法干扰。简明地列举您的需求,然后根据可用的内容来衡量它们。除了您可能需要或不需要的反腐败功能之外,XML文件似乎是一个不错的主意。可加密、可压缩,可能在游戏环境之外工作。600-800段不是一个大文件。我想补充一下,我也想存储一些LUA脚本。如果这改变了什么,你研究过JSON吗?它拥有XML提供的大部分功能,但并没有太多的语法干扰。列举你的简历 简明地描述需求,然后根据可用的内容进行度量。除了您可能需要或不需要的反腐败功能之外,XML文件似乎是一个不错的主意。可加密、可压缩,可能在游戏环境之外工作。600-800段不是一个大文件。