2012-09-04 131 views
-2

我有那么多城市的名字。我想将这个城市存储到我的设备数据库中。而我使用独立的存储设置,但isolatad存储允许我只添加一个城市。并且如何显示这个城市?如何将字符串存储在独立存储设置中?

我的C#代码是用于存储城市是:

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(); 
+0

你能解释你想要做什么吗?代码有什么问题(除了有时会写CityDeltai,有时候是CityDetail的错误) –

+0

@igrali:sry现在看到我编辑的代码并给我答案,我想在我的数据库中添加城市名称,城市名称是来自dynemically和它的两个以上。现在我想显示这个城市名称在另一个页面列表视图 – MaaN

回答

1

独立存储的设置实际上是一个通用字典的实现。它包含键值对,集合中的所有键都必须是唯一的(就像字典一样)。我认为,你想存储多个城市名称。你将不得不使用多个键,

setting.Add("City1", city1); 
setting.Add("City2", city2); 
setting.Add("City3", city3); 

,或者你可以在单一键中存放的数组:

setting.Add("Cities", new string[] { city1, city2, city3 }); 

不知道哪个更合适,因为它不是你的问题完全清楚。

+0

:谢谢但城市的数字不是固定的这个代码是有利于三个城市,但当第四个是在那时间是什么? – MaaN

+0

以及如何使用retrivecity = IsolatedStorageSettings.ApplicationSettings [“Cities”]作为字符串来检索这个城市bcos i m;所以空值是凸的 – MaaN

+0

这是一个数组。它可以容纳任何数量的项目,不只是3. – ctacke

2

貌似你试图保存在手机的城市列表,如果是这样的话,那么,建议你应该更喜欢要么本地SQL数据库XML。通过这种方式,您可以在应用中使用任何类型的持久数据。它可能是一个城市列表或一些复杂的对象。

要了解更多信息,请参阅: Local SQL DatabaseRead and Save XML Files

如果需要保存它在独立存储设置(由于一些不可避免的理由),那么你需要改变key-valuekey一部分,一些动态值(说city1,位于City2,请分享帮助... 。)

setting.Add("city1", city1); 

而且后来检索所有的城市,你可以使用循环如

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 

}  

请注意,您需要在应用程序设置中存储城市数量并更新它们并将它们分配到totalCities

编辑:

保存城市的应用程序的数量设置(比如“totalCities”): 每次添加一个城市,更新城市这样

void Update() 
{  
int presentCities; 

//Retrieve present number of cities 
presentCities = (string)setting["totalCities"]; 

//Save updated valu to application setting 
Add.Settings("totalCities", presentCities + 1); 

} 

数时检索只是使用(int)setting["totalCities"]

+0

:谢谢,但如何计算这个总城市? – MaaN

+0

见编辑答案 – Ankit

+0

:在这里你描述字符串cityNumber =“城市”+我;那么“城市”的价值是什么? – MaaN