这是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帮助。
答案 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;