在不使用数据库的情况下存储更大的对象数据

Store bigger object data using without using a database

我正在编写一个项目,主要是为了好玩,只是为了玩弄 .NET。我正在用 C# 构建一个 xaml 项目(或者你所说的 windows 8 个应用程序)。

在这种情况下,我将有一个更大的对象,其中包含一些其他对象和内容的列表。有什么聪明的方法可以将这些对象保存到磁盘以便以后加载它们吗?类似于 GetMyOldSavesObectWithName("MyObject");

据我了解,本地存储主要用于保存较小的内容,例如设置。可以保存多少数据?它可以处理更大的对象吗? pros/cons 是什么?我应该将对象保存到文件中吗?在那种情况下我该怎么做?有什么聪明的方法可以告诉 .net "Save this object to MyObjectName.xml" 什么的吗?

在C#中,可以使用serialization to save your objects as files, commonly in XML format. Other libraries, such as JSON.net,可以序列化为JSON。

您也可以推出自己的 saving/loading 格式,这可能会 运行 更快并以更紧凑的方式存储数据,但您需要花费更多时间。这可以通过 BinaryReaders and Writers.

来完成

如果您想走序列化路线,请查看 this Whosebug 答案。

在大多数情况下,数据会非常紧凑,根本不会使用太多 space。根据您的评论,"large" 数据量实际上只需要几 KB。