&和&&的区别
相同点
&和&&都可作逻辑与的运算符,表示逻辑与(and),当运算符两边的表达式的结果都为true时,其结果才为true,否则,只要有一方为false,则结果为false。(ps:当要用到逻辑与的时候&是毫无意义,&本身就不是干这个的)
不同点
if(loginUser!=null&&string.IsnullOrEmpty(loginUser.UserName))
&&具有短路的功能,即如果第一个表达式为false,则不再计算第二个表达式,对于上面的表达式,当loginUser为null时,后面的表达式不会执行,所以不会出现NullPointerException如果将&&改为&,则会抛出NullPointerException异常。(ps:所以说当要用到逻辑与的时候&是毫无意义的)
& 是用作位运算的。
总结
&是位运算,返回结果是int类型 &&是逻辑运算,返回结果是bool类型
本文探讨了在编程中&和&&的区别。虽然两者都可用于逻辑与操作,但&&具有短路特性,若第一个表达式为false,则不评估第二个表达式,避免潜在错误。而&是位运算符,适用于按位操作。理解这两者的差异对于编写高效且无错的代码至关重要。
8420

被折叠的 条评论
为什么被折叠?



