Windows phone 7 如何计算独立存储设置的行数?

Windows phone 7 如何计算独立存储设置的行数?,windows-phone-7,isolatedstorage,Windows Phone 7,Isolatedstorage,我在隔离存储设置中存储了多个数据,但当检索数据时,仅显示一个数据 我使用for loop,但它不能提供完美的输出 c代码为: 为隔离存储设置保存代码 if (!setting.Contains("CityDetail")) { setting.Add("CityDetail", cityname); } else { setting["CityDetail"] = cityname; } setting.Save(); 使用键值对保存数据。 例如,如果您这样做:

我在隔离存储设置中存储了多个数据,但当检索数据时,仅显示一个数据

我使用for loop,但它不能提供完美的输出

c代码为:

为隔离存储设置保存代码


 if (!setting.Contains("CityDetail"))
 {
   setting.Add("CityDetail", cityname);
 }
 else
 {
   setting["CityDetail"] = cityname; 
 }
 setting.Save();
使用键值对保存数据。
例如,如果您这样做:


 if (!setting.Contains("CityDetail"))
 {
   setting.Add("CityDetail", "abc");
 }
 else
 {
   setting["CityDetail"] = "abc"; 
 }
 setting.Save();

 if (!setting.Contains("CityDetail"))
 {
   setting.Add("CityDetail", "def");
 }
 else
 {
   setting["CityDetail"] = "def"; 
 }
 setting.Save();
因此,执行此操作后,键-CityDetail值为abc

在此之后,如果您这样做:


 if (!setting.Contains("CityDetail"))
 {
   setting.Add("CityDetail", "abc");
 }
 else
 {
   setting["CityDetail"] = "abc"; 
 }
 setting.Save();

 if (!setting.Contains("CityDetail"))
 {
   setting.Add("CityDetail", "def");
 }
 else
 {
   setting["CityDetail"] = "def"; 
 }
 setting.Save();
然后,键CityDetail值将被替换,新的值将被定义
本质是“在键值存储方法中,一个键只能有一个值。”

要针对单个键保存多个值,可以执行以下操作:


void addCityName(string cityName)
{
    List<string> existingList = getCityNames();
        if(existingList==null)
        {
             existingList = new List<string>();
             existingList.Add(cityName);
        }
        string json = JsonConvert.SerializeObject(exitingList);
        if(!IsolatedStorageSettings.ApplicationSettings.Contains("CityDetails"))
    {
        IsolatedStorageSettings.ApplicationSettings.Add("CityDetails",json);    
    }
    else 
    {
        IsolatedStorageSettings.ApplicationSettings["CityDetails"] = json;
    }
}

List<string> getCityNames()
{
    string json = IsolatedStorageSettings.ApplicationSettings["CityDetails"] as string;
    if(json == null)
        return null;
    JArray arr = JArray.parse(json);
        List<string> list = new List();
    for(int i=0; i < arr.length; i++)
    {
        list.add(arr[i].toString());
    }
    return list;
}

为此,您需要库。

您如何将数据保存到独立存储?@Amresh Kumar:请查看我编辑的代码:是的,这就是问题所在,我的cityname是动态生成的,那么我如何解决此问题?