SonarQube中C#冗余布尔字面量问题及空合并运算符使用咨询
问题解答
这两个场景都不适合用空合并/空合并赋值运算符,空合并系列运算符(??/??=)的核心是处理null值的兜底赋值逻辑,和你当前遇到的代码冗余问题不匹配。针对SonarQube的提示,直接简化表达式即可解决:
第一个表达式优化
原代码:
IsSuccess = response == null ? false : true;
简化后:
IsSuccess = response != null;
解释:response == null本身就是布尔值,直接取反就得到你需要的结果,没必要用三元表达式再手动返回true/false。
第二个表达式优化
原代码:
ResponseMessage = resp == true ? "Success" : "Failure";
简化后:
ResponseMessage = resp ? "Success" : "Failure";
解释:resp本身就是布尔类型变量,无需和true做比较,直接用变量作为三元表达式的判断条件即可。
内容的提问来源于stack exchange,提问作者The Inquisitive Coder
相关产品推荐
相关产品推荐

