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)
(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)就好了.
这能提高多少性能?
如果真想:把括号外面的或,想办法改成与。
if(!(lum.UserUpdateTime ==null && rum.UserUpdateTime==null && lum.UserUpdateTime >=rum.UserUpdateTime))