【Resharper】C# “Simplify conditional ternary expression”

#事故现场:

  对某个对象做空值检测的时候,结合三元运算符给某变量赋值的时候,R#提示:"Simplify conditional ternary expression" ;

  R#建议对该种写法进行简写优化;

#解决方案:

  我们可以按住 Alt+Enter ,接受R#的建议,则代码优化如下:

bool isFuzzySearch = context.Request["IsFuzzySearch"] != null && bool.Parse(context.Request["IsFuzzySearch"]);

  优化后的代码中,同样存在空值检测,只不过使用 != ,同时三元运算符改为了 && ,也就是说只有当 context.Request["IsFuzzySearch"] != null  为真的时候,才会执行 bool.Parse(context.Request["IsFuzzySearch"]),最终结果同样满足了业务逻辑;

  优化后的代码在语义上和优化前的代码是等价的,R#通常更喜欢更简洁的方式,特别是,条件中使用"true" 和"false",R#会认为其是冗余代码的标记;

 

#参考:

https://stackoverflow.com/questions/14621907/simplify-conditional-ternary-expression

——————————————————————————————————————————

转载于:https://www.cnblogs.com/willingtolove/p/11050534.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值