Windows phone 7 如何在独立存储设置中存储字符串?
我有很多城市的名字。我想把这个城市存储到我的设备数据库中。我使用隔离存储设置,但隔离存储只允许我添加一个城市。如何显示这个城市 我的C#代码用于存储城市信息:Windows phone 7 如何在独立存储设置中存储字符串?,windows-phone-7,isolatedstorage,Windows Phone 7,Isolatedstorage,我有很多城市的名字。我想把这个城市存储到我的设备数据库中。我使用隔离存储设置,但隔离存储只允许我添加一个城市。如何显示这个城市 我的C#代码用于存储城市信息: if (!setting.Contains("CityDetail")) { setting.Add("CityDetail", cityname); //MessageBox.Show(cityname + " is successfully
if (!setting.Contains("CityDetail"))
{
setting.Add("CityDetail", cityname);
//MessageBox.Show(cityname + " is successfully added in the favorites");
}
else
{
cityname = (string)setting["CityDetail"];
//MessageBox.Show(cityname + " is allready added in the favorites");
}
//setting.Save();
隔离存储设置实际上是通用字典的实现。它包含键值对,集合中的所有键都必须是唯一的(就像字典一样)。我认为您想要存储多个城市名称。您必须使用多个键
setting.Add("City1", city1);
setting.Add("City2", city2);
setting.Add("City3", city3);
也可以在单个键下存储数组:
setting.Add("Cities", new string[] { city1, city2, city3 });
不确定哪一个更合适,因为您的问题并不完全清楚。看起来您正试图在电话中保存城市列表,如果是这样,建议您选择本地SQL数据库或XML。通过这种方式,您可以在应用程序中拥有任何类型的持久数据。它可能是一个城市列表或一些复杂的对象 要了解更多信息,请参阅: 和 如果需要将其保存在独立存储设置中(由于某些不可避免的原因),则需要将
键
的部分键值
对更改为某个动态值(例如city1、city2、city3……)
然后检索您可以使用的所有城市,例如
for(int i=0; i<totalCities ; i++)
{
//prepare key value
String cityNumber = "city" + i;
String cityName = settings[cityNumber].ToString();
//here you get your city name Add it to a list or Array
}
要检索,只需使用
(int)设置[“totalCities”]
您能解释一下您想要做什么吗?代码有什么问题(除了有时编写CityDeltai,有时编写CityDetail的错误)@igrali:sry现在查看我编辑的代码并给我答案,我想在我的数据库中添加城市名称,城市名称来自Dynemily,超过两个。现在我想在另一个页面列表视图中显示此城市名称:谢谢,但实际上城市编号不是固定的。此代码适用于三个城市,但当第四个城市出现时什么?以及如何检索此城市bcos我使用retrievecity=IsolatedStorageSettings.ApplicationSettings[“cities”]作为字符串;所以空值是一个数组。它可以容纳任意数量的项目,而不仅仅是3个。@hello ctacke我得到了一个解决方案,感谢您给我的支持:这里您描述字符串cityNumber=“city”+i;那么“city”的值是什么呢?“city”只是一个字符串,因为我们用关键字“city1,city2,…”保存了城市,因此,我们需要使用相同的名称检索它。
for(int i=0; i<totalCities ; i++)
{
//prepare key value
String cityNumber = "city" + i;
String cityName = settings[cityNumber].ToString();
//here you get your city name Add it to a list or Array
}
void Update()
{
int presentCities;
//Retrieve present number of cities
presentCities = (string)setting["totalCities"];
//Save updated valu to application setting
Add.Settings("totalCities", presentCities + 1);
}