将列表(String)保存到应用程序/隔离存储(Win8.1)

时间:2014-08-06 02:16:37

标签: c# windows windows-8 windows-8.1 isolatedstorage

我有一个包含多个字符串的列表,我想保存到IsolatedStorage。做一些明显的事情,比如

List<string> l = new List<string>();
ApplicationData.Current.LocalSettings.Values["locations"] = l;

导致Data of this type is not supported错误。

据我所知,这个代码适用于WP8 silverlight工作正常。我做错了什么?

2 个答案:

答案 0 :(得分:4)

ApplicationData.Current.LocalSettings仅支持base data types

如果你有一个简单的List<string>,你可以使用 Linq

List<string> l = new List<string>(); // your list with strings
ApplicationData.Current.LocalSettings.Values["locations"] = l.ToArray();
// then when you want to retrive it:
List<string> lret = ((string[])ApplicationData.Current.LocalSettings.Values["locations"]).ToList();

答案 1 :(得分:1)

那么,对于任何其他数据类型,然后是原始数据类型,您不能使用独立存储。对于此用途,您可以使用Json Serialization将列表保存到文件,并将文件保存到isolatedFolder。但是如果需要,你可以逐个添加字符串。

Here's使用json

隔离存储的示例