为了账号安全,请及时绑定邮箱和手机立即绑定

关于条件的简化

关于条件的简化

慕森卡 2018-08-28 09:06:15
if((lum.UserUpdateTime != null && rum.UserUpdateTime != null && lum.UserUpdateTime < rum.UserUpdateTime) || (lum.UserUpdateTime == null && rum.UserUpdateTime != null) || (lum.UserUpdateTime != null && lum.UserUpdateTime == null) ){...}这个条件能简化吗?相当于(-a^b)V(a^-b)V(-a^-b^c)
查看完整描述

2 回答

?
幕布斯6054654

TA贡献1876条经验 获得超7个赞

(lum.UserUpdateTime != null && lum.UserUpdateTime == null?这句是不是写错了.

如果是的话,可以改成如下.

if ((lum.UserUpdateTime < rum.UserUpdateTime) ||(lum.UserUpdateTime == null) != (rum.UserUpdateTime == null)){                }

原因是:

因为你第一个条件(lum.UserUpdateTime != null && rum.UserUpdateTime != null && lum.UserUpdateTime < rum.UserUpdateTime)如果lum.UserUpdateTime < rum.UserUpdateTime满足,那么前面二个条件就是满足的.你用&&连接,就必需要都满足.所以你前面二个条件没必要写.

而(lum.UserUpdateTime == null && rum.UserUpdateTime != null)|| (lum.UserUpdateTime != null && rum.UserUpdateTime == null)这个条件相对就是说只能一个为空,一个不为空用(lum.UserUpdateTime == null) != (rum.UserUpdateTime == null)就好了.


查看完整回答
反对 回复 2018-08-30
?
慕无忌1623718

TA贡献1744条经验 获得超4个赞

这能提高多少性能?

如果真想:把括号外面的或,想办法改成与。


查看完整回答
反对 回复 2018-08-30
  • 2 回答
  • 0 关注
  • 359 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信