在项目代码中在if判断中会经常看到一些老司机这样写:if(null == a),而我由于习惯会写成if(a == null),这两种有什么区别呢?
其实两种并没有什么区别,只是前者在细节处理上。我们在代码判空时,由于手快可能将if(a == null)写成if(a = null),这在一些语言中是可以编译通过的,但结果会报错,这样就会让我们花费时间去查找问题。但写成if(null = a)编译一定是会报错的,所以在一定程度上减少了错误排查的时间。
有的朋友可能会说在C#环境下,这两种情况好像都会报错的吧,如:
好像确实是这样,但是您忘记了C#新增的dynamic类型吗?编译是通过的,但是运行起来就炸了。
所以,好的程序从细节出发。