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;