将数据保存到外部文件

时间:2013-10-08 00:11:37

标签: c# file-io save

我有一个

List<MyCustomClass> mcc = new List<MyCustomClass>();

当程序运行时,它从用户收集数据,根据它组装List。 我想存储数据,以便下次程序运行时,它会记住。

我想总结一下,我有什么方法可以做到这一点?

  • 使用StreamWriter我可以将文本保存到“file.txt”。
  • 我听说过有关保存到XML文件的选项。
  • 数据库:我还没有使用它们的经验

还有其他选择吗? 你会为这个特殊原因推荐哪一个?为什么?

2 个答案:

答案 0 :(得分:1)

在大多数情况下,您应该将其保存到数据库中。数据库用于存储,更重要的是检索数据。

如果将其保存到文本文件,您将负责格式化数据,然后编写更多代码来检索它。如果您需要向MyCustomClass添加新属性,该怎么办?

将其序列化为XML并将其写入文本更好,因为格式化已经为您完成,但您仍然遇到以后检索它的问题。如果您有1000条记录并且需要获得#495记录怎么办?您必须阅读整个文本文件,可能将所有文本序列化回您的对象并搜索记录。很慢。

数据库为您解决了这一切。如果它是一个小应用程序,甚至有正常文件的数据库!对于更大的项目,无论如何你都需要一个集中的数据库,所以你一定要试一试

答案 1 :(得分:1)

我肯定会使用数据库,但如果这是一个针对单个用户的小应用程序,我会使用:

SQL Server Compact

或文档存储数据库(无Sql)

RavenDB

使用RavenDB,您可以将MyCustomClass对象直接放入此存储空间,然后再将其取回。