0

我正在使用 IsolatedStorage 来保存用户的整数。添加第一个整数,效果很好。给定整数添加成功。

但是,在使用 IsolatedStorage 将另一个整数保存在同一字符串上(以替换旧整数)IsolatedStorageSettings.ApplicationSettings["Key"] = site;时,App 会中断。

这是我的代码:

        int num = 0;
        if (int.TryParse(txtbox.Text, out num) && num > 0)
        {
            string site;
            site = num.ToString();
            IsolatedStorageSettings.ApplicationSettings.Add("Key", site);
            IsolatedStorageSettings.ApplicationSettings["Key"] = site;
            IsolatedStorageSettings.ApplicationSettings.Save();
            MessageBox.Show("Bookmark created successfully");
        }
        else
        {
            MessageBox.Show("TextBox is not supposed to be empty");
        }
4

1 回答 1

1

您应该删除此行:

IsolatedStorageSettings.ApplicationSettings.Add("Key", site);

如果您已经有一个名为 的设置Key,则该行将引发异常,如文档所述:

例外:
ArgumentException -key字典中已经存在。

...而这一行:

IsolatedStorageSettings.ApplicationSettings["Key"] = site;

只是替换任何以前的值。

您应该退后一步找出为什么您无法自己发现这一点:您说应用程序“中断” - 可能引发了异常,您应该确保能够获得堆栈跟踪(和消息)的任何例外。那应该查明问题出在哪里。能够看到您的应用程序抛出的任何异常非常重要,否则诊断问题可能非常困难。

于 2013-08-30T05:48:12.000 回答