gpt4 book ai didi

c# - WP7 中 IsolatedStorageSettings 中的参数异常

转载 作者:太空宇宙 更新时间:2023-11-03 13:54:16 25 4
gpt4 key购买 nike

在下面的代码中,我得到了 ArgumentException。此代码检查是否在 IsolatedStorageSetting 中设置了 key。如果不存在,则创建它。此时异常发生,消息 - value does not fall in the expected range。我做错了什么?

 protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e)
{
base.OnNavigatedTo(e);

var settings = IsolatedStorageSettings.ApplicationSettings;

if (settings.Contains("bm"))
{
string k = (string) settings["bm"];
if (k == "1")
{
cb1.IsChecked = true;
}
else
{
cb1.IsChecked = false;
}
}
else
{
cb1.IsChecked=true;
settings.Add("bm","1"); //exception occurs here
settings.Save();
}
}

最佳答案

尽我们所能 see in MSDN

ArgumentException 发生在

key already exists in the dictionary.

所以,我可以看到两个问题:

  • 在并行线程的某处, key “bm”被保存到设置中。
  • key 不同。 "ь"和 "b"是不同的字母,但它们看起来很相似。

尝试定义一个常量字符串:

private const string BM_KEY = "bm";

并在您每次访问设置时使用它。

   if (settings.Contains(BM_KEY))
{
string k = (string) settings[BM_KEY];
if (k == "1")
{
cb1.IsChecked = true;
}
else
{
cb1.IsChecked = false;
}
}
else
{
cb1.IsChecked=true;
settings.Add(BM_KEY,"1"); //exception occurs here
settings.Save();
}

可以肯定的是,您每次都使用相同的 key 。

关于c# - WP7 中 IsolatedStorageSettings 中的参数异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12795762/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com