是否可以将字典读/写到IsolatedStorageFile中

时间:2011-06-21 12:47:47

标签: windows-phone-7

在iOS SDK中,NSDictionary有writeToFile和dictionaryWithContentsOfFile方法将字典写入文件并将文件内容作为字典读取。是否有可能在WP7(C#)中做同样的事情?

4 个答案:

答案 0 :(得分:1)

是的,但您必须序列化词典并自行写入文件。

或者你可以添加到IsoaltedStorageSettings并让框架为你做序列化。

答案 1 :(得分:1)

我相信SilverlightSerializer库能够序列化字典;您可以将字典序列化为字节数组并将其写入隔离存储。

SilverlightSerializer示例:http://whydoidoit.com/silverlight-serializer/

或者尝试SharpSerializer,有一个WP7版本(和一个NuGet包):http://www.sharpserializer.com/en/tutorial/index.html

答案 2 :(得分:0)

隔离存储提供文件系统。序列化是一个正交问题。

可以将任何对象图写入IsolatedStorageSettings,前提是图中的每个对象都是DataContract可序列化的。许多常见的框架类型都不是,例如GeoCoordinate。

可以说,IsolatedStorageSettings 字典。但需要注意的是DataContract的可分割性。

将字典写入文件同样可行并且更加智能,因为在ISS中存储的越多,实例化所需的时间就越长。这会严重影响应用加载和恢复时间。在涉及不受支持的类的情况下,您仍然必须自己管理序列化。你最大的障碍是框架中没有BinaryFormatter(我不知道Mango是否添加它。)

答案 3 :(得分:0)

@saikamesh,这是一个涵盖.NET中字典的XML序列化的线程。 Why isn't there an XML-serializable dictionary in .NET?。它列出了许多不同的方法。然后,您可以将输出字符串写入隔离存储中的文件。

您可以在iPhone and Android to WP7 mapping site

找到iPhone类到Windows Phone类的映射