在Windows 8的本地存储中存储字符串数组的最佳方法?

时间:2013-01-30 05:44:53

标签: c# windows-8

我对Windows 8上的本地存储有疑问。

我想存储一个股票符号的字符串数组。在Windows 8上执行此类操作的最佳方法是什么?

浏览时,有人建议将数组中的每个字符串存储到文本文件中的新行中,并从本地存储中保存和检索。

如果是这样,我将如何实现这一目标?还有更好的选择吗?我应该沿着sqlite的路走下去吗?

3 个答案:

答案 0 :(得分:2)

以下示例演示了如何将集合保存到本地存储,请检查它:http://code.msdn.microsoft.com/windowsapps/CSWinStoreAppSaveCollection-bed5d6e6

答案 1 :(得分:1)

我建议使用Isolated存储来存储应用程序值,可能是序列化的JSON,对象等。这是一个代码示例:

- 设置数据

var localStorage = ApplicationData.Current.LocalSettings;
localStorage.Values[key] = value;

- 获取数据

var localStorage = ApplicationData.Current.LocalSettings;
if(localStorage.Values.ContainsKey(key)
 return (T)localStorage.Values[key];

虽然将上述内容包装在辅助类中通常更实际。

其他选项是将文件写入磁盘,例如SQLite或XML / JSON文件,但上述内容应该适用于少量数据。

答案 2 :(得分:0)

要将阵列保存到本地存储,您需要将其转换为字符串。

var localSettings = Windows.Storage.ApplicationData.current.localSettings;
var someSetting= new Array();

//Add values you want to store
someSetting.push("someValue");

//Change to string and save to local Storage
//toString will convert the array to a string with values separated by a comma
localSettings.values["someSettingInStorage"] = someSetting.toString();

//To retrieve the stored string value as a usable array
if (localSettings.values["someSetting"] != null)
    someSetting = (localSettings.values["someSetting"]).split(",");