在iOS SDK中,NSDictionary有writeToFile和dictionaryWithContentsOfFile方法将字典写入文件并将文件内容作为字典读取。是否有可能在WP7(C#)中做同样的事情?
答案 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类到Windows Phone类的映射