C# 将数据保存到外部文件

C# 将数据保存到外部文件,c#,file-io,save,C#,File Io,Save,我有一个 List mcc=新列表(); 当程序运行时,它从用户那里收集数据,并根据这些数据汇编列表。 我想存储数据,这样下次程序运行时,它就会记住 我想总结一下,我有什么方法可以做到这一点 使用StreamWriter,我可以将文本保存到“file.txt”中 我听说了一个关于保存到XML文件的选项 数据库:我还没有这方面的经验 还有其他选择吗? 出于这个特殊原因,您会推荐哪一种?为什么?在大多数情况下,您应该将其保存到数据库中。数据库用于存储数据,更重要的是用于检索数据 如果将其保存到

我有一个

List mcc=新列表();
当程序运行时,它从用户那里收集数据,并根据这些数据汇编列表。 我想存储数据,这样下次程序运行时,它就会记住

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

  • 使用StreamWriter,我可以将文本保存到“file.txt”中
  • 我听说了一个关于保存到XML文件的选项
  • 数据库:我还没有这方面的经验
还有其他选择吗?
出于这个特殊原因,您会推荐哪一种?为什么?

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

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

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


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

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


使用RavenDB,您只需将您的
MyCustomClass
对象直接放入此存储,然后将其重新取出。

我会将其保存到基于文件的数据库中。试试SQL Server Compact!
List<MyCustomClass> mcc = new List<MyCustomClass>();