错误:无法隐式转换类型'bool?' 'bool'.存在显式转换(您是否错过了演员?)
代码:
Test obj = new Test();
obj.IsDisplay = chkDisplay.IsChecked;
Run Code Online (Sandbox Code Playgroud)
但是当我使用这意味着施放在布尔然后没有错误.
Test obj = new Test();
obj.IsDisplay = (bool) chkDisplay.IsChecked;
Run Code Online (Sandbox Code Playgroud)
我需要知道,为什么需要将这个bool转换为bool.
谢谢
在条件null句中没有评估的原因是什么false?
我首先考虑的是分配以避免使用=而不是使用的错误==,但编译器很容易不允许这样做.
if (someClass = someValue) // cannot convert someClass to bool. Ok, nice
if (someClass) // Cannot convert someClass to bool. Why?
if (someClass != null) // More readable?
Run Code Online (Sandbox Code Playgroud)
我认为这null意味着相当合理false.还有其他语言也使用它,因为它没有我的错误.
编辑:我当然是指参考类型.
Daniel Earwicker关于赋值错误的一个很好的评论...这个编译没有警告,因为它评估为bool:
bool bool1 = false, bool2 = true;
if (bool1 = bool2)
{
// oops... false == true, and bool1 became true...
}
Run Code Online (Sandbox Code Playgroud) bool? ispurchased = null;
var pospurcahsed= ispurchased ? "1":"2";
Run Code Online (Sandbox Code Playgroud)
它产生异常.
无法隐式转换类型'bool?' 'bool'.存在显式转换(您是否错过了演员?)
我在这做错了什么?感谢您的支持和考虑.
我有一个例外:
无法隐式转换类型'bool?' 'bool'.存在显式转换(您是否错过了演员?).
代码:
xEnable = was.xEnable;
Run Code Online (Sandbox Code Playgroud)
xEnable 是DB中的可空列.