Operator '||' cannot be applied to operands of type 'bool?' and 'bool?'(代码片段

Posted 猫叔Vincent的后花园

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Operator '||' cannot be applied to operands of type 'bool?' and 'bool?'(代码片段相关的知识,希望对你有一定的参考价值。

一开始想根据Button的Tag属性判断一些操作,于是写了

if (btn1.Tag.ToString().StartsWith("Menu") || btn2.Tag.ToString().StartsWith("Submenu"))
    return;

 

但是Tag属性可能为空,于是给Tag加上判空处理

if (btn1.Tag?.ToString().StartsWith("Menu") || btn2.Tag?.ToString().StartsWith("Submenu"))
    return;

 

这样又引发了语法错误。

Severity    Code    Description    Project    File    Line    Suppression State
Error    CS0019    Operator || cannot be applied to operands of type bool? and bool?

 

解决方案

if ((btn1.Tag?.ToString().StartsWith("Menu") ?? false) || (btn2.Tag?.ToString().StartsWith("Submenu") ?? false)) 
return;

 

以上是关于Operator '||' cannot be applied to operands of type 'bool?' and 'bool?'(代码片段的主要内容,如果未能解决你的问题,请参考以下文章

如何完全绕过`错误:不匹配'operator =='`?

Operator '?:' has lower precedence than '*'; '*' will be evaluated first(代码片

'operator ++(int)&'运算符重载中的'&'是什么意思? [重复]

pymongo聚合搜索 'OperationFailure: unknown top level operator'错误

Operator '||' cannot be applied to operands of type 'bool?' and 'bool?'(代码片段

Operator '||' cannot be applied to operands of type 'bool?' and 'bool?'(代码片段