使用而不使用数据库来存储更大的对象数据

时间:2015-01-14 20:52:08

标签: c# .net local-storage

我正在编写一个最有趣的项目,只是为了玩.NET。我在C#中构建了一个xaml项目(或者你称之为windows 8应用程序)。

在这种情况下,我将拥有一个更大的对象,其中包含一些其他项目和内容的列表。是否有任何智能方法将这些对象保存到磁盘以便以后加载它们?这就像GetMyOldSavesObectWithName("MyObject");

我读过的本地存储主要用于保存较小的内容,例如设置。保存多少数据是可以接受的?它可以处理更大的对象,有什么优点/缺点?我应该将对象保存到文件中,在这种情况下我该怎么做?是否有任何聪明的方式告诉.net到"将此对象保存到MyObjectName.xml"还是什么?

1 个答案:

答案 0 :(得分:2)

在C#中,您可以使用serialization将对象保存为文件,通常采用XML格式。其他库(例如JSON.net)可以序列化为JSON。

您还可以推出自己的保存/加载格式,这种格式可能运行得更快,并以更紧凑的方式存储数据,但您需要花费更多时间。这可以使用BinaryReaders and Writers完成。

如果您想要进行序列化路线,请查看this StackOverflow答案。

在大多数情况下,数据会非常紧凑,根本不会占用太多空间。根据您的评论,“大量”数据实际上只需要几KB。