适用于模拟器,在设备上崩溃(第8页)

时间:2013-03-27 21:12:48

标签: windows-phone-7 windows-phone-8 isolatedstorage

这是save_g

的声明
public static IsolatedStorageSettings save_g = IsolatedStorageSettings.ApplicationSettings;

这里cons.term [7]的类型是字符串

save_g[cons.term[7]] = (double)save_g[cons.term[7]] + 1;

上面的语句在模拟器上执行没有问题。但是当我在设备(Lumia 820)上运行它时会出错。

A first chance exception of type 'System.InvalidCastException' occurred in PhoneApp2.DLL

An exception of type 'System.InvalidCastException' occurred in PhoneApp2.DLL but was not handled in user code

我不知道什么是错的。

Plz帮助。

1 个答案:

答案 0 :(得分:2)

无效的投射例外意味着save_g[cons.term[7]]不是double。该值很可能为null。您应该检查第一次为save_g[cons.term[7]]赋值的代码部分。

如果它是您分配此值的唯一位置,则应添加代码来处理此情况:

double value = save_g[cons.term[7]] == null ? 0 : save_g[cons.term[7]];
save_g[cons.term[7]] = value + 1;