相关疑难解决方法(0)

不能隐式转换类型'bool?' 'bool'.存在显式转换(您是否错过了演员?)

错误:无法隐式转换类型'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.

谢谢

.net c#

39
推荐指数
6
解决办法
6万
查看次数

为什么不将null评估为false?

在条件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)

c# null conditional type-conversion

23
推荐指数
5
解决办法
2万
查看次数

Nullable Bool的编译器错误

 bool? ispurchased = null;
    var pospurcahsed= ispurchased ? "1":"2";
Run Code Online (Sandbox Code Playgroud)

它产生异常.

无法隐式转换类型'bool?' 'bool'.存在显式转换(您是否错过了演员?)

我在这做错了什么?感谢您的支持和考虑.

c#

4
推荐指数
1
解决办法
1076
查看次数

将Nullable <bool>转换为bool

我有一个例外:

无法隐式转换类型'bool?' 'bool'.存在显式转换(您是否错过了演员?).

代码:

 xEnable = was.xEnable;
Run Code Online (Sandbox Code Playgroud)

xEnable 是DB中的可空列.

c# c#-4.0

-1
推荐指数
1
解决办法
743
查看次数

标签 统计

c# ×4

.net ×1

c#-4.0 ×1

conditional ×1

null ×1

type-conversion ×1