我有一个
List<MyCustomClass> mcc = new List<MyCustomClass>();
当程序运行时,它会从用户那里收集数据,并在此基础上组装列表。我想存储数据,以便下次程序运行时,它会记住。
我想总结一下,我有什么方法可以做到这一点?
- 使用 StreamWriter 我可以将文本保存到“file.txt”。
- 我听说过有关保存到 XML 文件的选项。
- 数据库:我还没有使用它们的经验
还有更多选择吗?出于这个特殊原因,您会推荐哪一个,为什么?
在大多数情况下,您应该将其保存到数据库中。数据库用于存储,更重要的是检索数据。
如果您将其保存到文本文件中,您将负责格式化数据,然后编写更多代码来检索它。如果您需要向 MyCustomClass 添加新属性怎么办?
在 XML 中对其进行序列化并将其写入文本会更好,因为格式已为您完成,但您仍然有稍后检索它的问题。如果您有 1000 条记录并且需要获取记录 #495,该怎么办?您将不得不阅读整个文本文件,可能将所有文本序列化回您的对象并搜索记录。非常慢。
数据库为您解决了这一切。如果它是一个小应用程序,甚至还有普通文件的数据库!对于更大的项目,无论如何你都需要一个集中式数据库,所以你一定要试一试
我肯定会使用数据库,但如果这是一个用于单用户微型应用程序的程序,我会使用:
或文档存储数据库(无 Sql)
使用 RavenDB,您可以将MyCustomClass
对象直接放入此存储中,然后再将其取出。