Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 存储列表<;字符串>;当应用程序重新启动时,到隔离存储中的retuns null_C#_List_Windows Phone 8_Isolatedstorage - Fatal编程技术网

C# 存储列表<;字符串>;当应用程序重新启动时,到隔离存储中的retuns null

C# 存储列表<;字符串>;当应用程序重新启动时,到隔离存储中的retuns null,c#,list,windows-phone-8,isolatedstorage,C#,List,Windows Phone 8,Isolatedstorage,我正在隔离存储器中存储类型为List的对象。我的问题是,当我关闭应用程序并稍后重新启动它,并尝试检索列表时,它返回null 除列表对象外,所有其他对象(如字符串、布尔、int、字典等)均保留其值 public List<string> BuddyGroupsSetting { get { return GetValueOrDefault<List<string>>(BuddyGroupsKey

我正在隔离存储器中存储类型为
List
的对象。我的问题是,当我关闭应用程序并稍后重新启动它,并尝试检索
列表时,它返回null

列表
对象外,所有其他对象(如
字符串
布尔
int
字典
等)均保留其值

  public List<string> BuddyGroupsSetting
    {
        get
        {
            return GetValueOrDefault<List<string>>(BuddyGroupsKeyName, BuddyGroupsDefault);
        }
        set
        {
            AddOrUpdateValue(BuddyGroupsKeyName, value);
            Save();
        }
    }
公共列表BuddyGroup设置
{
得到
{
返回GetValuerDefault(BuddyGroupsKeyName,BuddyGroupsDefault);
}
设置
{
AddOrUpdateValue(BuddyGroupsKeyName,值);
Save();
}
}

我已经检查了我的代码,没有清除列表的命令。我错过了什么?

好吧,我想起来了。简单的错误。。我没有直接设置'BuddyGroupsSetting'属性的值,而是错误地使用

BuddyGroupsSetting.Add(item)
因此,
set
从未真正被调用过!为了纠正这个问题,我创建了一个私有字段

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

显示的代码实际上不允许我们帮助您。setter允许null,因此代码可能会将其设置为null。您尚未向我们显示从存储中保存/加载列表的代码。感谢Matt,我们发现从未调用setter导致未保存的值。我在下面的回答中解释。如果您找到了解决方案,请将您自己的答案标记为已接受!
buddyGroupsSetting = BuddyGroupsSetting