C# 使用而不使用数据库存储较大的对象数据

C# 使用而不使用数据库存储较大的对象数据,c#,.net,local-storage,C#,.net,Local Storage,我写一个项目是为了好玩,只是为了玩玩.NET。我正在用C#构建一个xaml项目(或者你称之为Windows8应用程序) 在这种情况下,我将有一个更大的对象和一些其他对象和东西的列表。是否有任何聪明的方法将这些对象保存到磁盘以备以后加载?这类似于GetMyOldSavesObectWithName(“MyObject”) 据我所知,本地存储主要用于保存较小的内容,如设置。可以保存多少数据?它能处理更大的物体吗?它的优点/缺点是什么?我应该将对象保存到文件中吗?在这种情况下如何保存?有没有什么聪明的

我写一个项目是为了好玩,只是为了玩玩.NET。我正在用C#构建一个xaml项目(或者你称之为Windows8应用程序)

在这种情况下,我将有一个更大的对象和一些其他对象和东西的列表。是否有任何聪明的方法将这些对象保存到磁盘以备以后加载?这类似于
GetMyOldSavesObectWithName(“MyObject”)

据我所知,本地存储主要用于保存较小的内容,如设置。可以保存多少数据?它能处理更大的物体吗?它的优点/缺点是什么?我应该将对象保存到文件中吗?在这种情况下如何保存?有没有什么聪明的方法告诉.net“将此对象保存到MyObjectName.xml”之类的东西?

在C#中,您可以使用它将对象保存为文件,通常是xml格式。其他库,例如,可以序列化为JSON

您还可以推出自己的保存/加载格式,这可能会运行得更快,并以更紧凑的方式存储数据,但会占用您更多的时间。这可以通过以下方式完成

如果您希望走序列化路线,请查看StackOverflow答案


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

你可以手动地输入信息或写数据,大小限制与现代硬件无关。你认为“大”是什么?为什么你要在Windows 8应用程序中存储一个?为什么反对使用数据库?Windows phone被设置为使用SQL和LINQ开箱即用,那么为什么要反对它呢@BradleyDotNET的“大”类似于一个对象(比如Party),有一个(字符串)名称,一个对象人列表(该对象中可能有3-4个字符串值),一个对象饮料列表(等等)。很难说是kb/mb,但你知道数字了吗?@Cyral:还有更具体的方法吗?也就是说,如何保存party对象,并在以后加载它。我猜你的意思是将对象序列化为字符串并保存到文件中,然后加载它?像Party MyParty=loadThisBabyFromFile(“MyParty.xml”)?这是一个很好的线程,谢谢。在我看来,一个较小的对象可以存储在ApplicationData.Current.LocalSettig imo中,这会阻止我保存一堆文件,但是像这样保存这些KBs的数据感觉有点大。对我来说,这就像是windows注册表,对吗?因此,是否还有其他内置功能可用于保存较大的内容而不将其保存为文件?这些不是设置,它们包含的数据对于注册表或LocalSettings来说过于复杂。大多数应用程序都将数据保存到磁盘上,而您想要保存的数据量实际上很少,因此您不必担心这样做。但是,要保存的数据类型不适合注册表。我不会保存那么多单独的文件,而是将大部分文件打包成一个更大的文件。注册表不适用于此。因此,我想知道是否有其他合适的内置“本地存储”的东西来保存这些东西。但我想没有了。文件就可以了。谢谢