关于条件的简化

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)


慕森卡
浏览 360回答 2
2回答

幕布斯6054654

(lum.UserUpdateTime != null && lum.UserUpdateTime == null?这句是不是写错了.如果是的话,可以改成如下.if ((lum.UserUpdateTime < rum.UserUpdateTime) ||(lum.UserUpdateTime == null) != (rum.UserUpdateTime == null)){&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}原因是:因为你第一个条件(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)就好了.

慕无忌1623718

这能提高多少性能?如果真想:把括号外面的或,想办法改成与。
打开App,查看更多内容
随时随地看视频慕课网APP