将列表<string>存储到独立存储中时,应用程序重新启动时返回null </string>

时间:2013-04-24 15:31:58

标签: c# list windows-phone-8 isolatedstorage

我将类型为List<string>的对象存储在Isolated Storage中。我的问题是当我关闭应用程序并稍后重新启动它,并尝试检索List<string>时,它返回null。

stringboolintDictionary<string, bool>等所有其他对象保留除List<string>对象以外的其他值。

  public List<string> BuddyGroupsSetting
    {
        get
        {
            return GetValueOrDefault<List<string>>(BuddyGroupsKeyName, BuddyGroupsDefault);
        }
        set
        {
            AddOrUpdateValue(BuddyGroupsKeyName, value);
            Save();
        }
    }

我检查了我的代码,没有命令在任何地方清除列表。我错过了什么?

1 个答案:

答案 0 :(得分:0)

好的,我明白了。简单的错误..我没有直接将值设置为'BuddyGroupsSetting`属性,而是使用

错误地添加了一个项目
BuddyGroupsSetting.Add(item)

所以set实际上从未被调用过!为了纠正这个问题,我创建了一个私有字段

private List<string> buddyGroupsSetting = new List<string>();

然后使用此字段设置值

buddyGroupsSetting = BuddyGroupsSetting