日期:2014-05-18  浏览次数:20981 次

C#注册表怎么读取数据转换成bool类型不报错呢?急急急!
RegistryKey B=Registry.CurrentUser.CreateSubKey("SH\\");
bool A = (bool)B.GetValue("A", "0");


读取一直报错:未处理InvalidCastException
  指定的转换无效。
  排错提示:
  当从一个数字执行强制转换时,值必须是一个小于无限大的数字。
  确保源类型可以转换成目标类型。
  获取此异常的常规帮助。
这个问题怎么解决啊?跪求大侠们的帮助啊!

------解决方案--------------------
C# code

RegistryKey B = Registry.CurrentUser.CreateSubKey("SH\\");
                bool A ;
                bool.TryParse(B.GetValue("A", "0").ToString(),out A);//只有当B.GetValue("A", "0") 值为 "True"时才为真

------解决方案--------------------
楼主,请参考:
C# code

RegistryKey B=Registry.CurrentUser.CreateSubKey("SH\\");
bool A = Convert.ToBoolean(B.GetValue("A", "0"));

------解决方案--------------------
探讨

Return_false 你的可以。
如果我的读取不是true,我能收到结果还是。直接收到false呢?