今天看到一位同事这么写代码:
if(t!=null)
{
if(t.IsAlive)
{
t.Abort();
}
}
我当时想,要是我就这样写:
if(t!=null && t.IsAlive)
{
t.Abort();
}
看起来少写了三行。不过我马上又想到,他之所有这么写,是因为他不知道 && 的使用方法:
if(条件1 && 条件2)
{
}
如果条件1不成立,那么不对条件2进行判断,直接跳出大括号;
如果条件1成立,则对条件2进行判断;
由此看来,要想像我这么写,还得多学一点语法上的知识。这是第一个缺点。
第二个缺点,不懂这个知识的人,可能会认为:条件1不成立,还要对条件2判断一下。
那像这样的情况if(t!=null && t.Alive)如果t==null,那么t.Alive岂不是要报错了?
其实,像我这位同事的写法,简单易懂,不会让人产生歧义,而且还少学了无用的知识。
类似的还有,可以用 i=i+1; 来代替 i++;
之所以会出现++符号是因为以前的计算机内存不够,
而现在计算机的内存够的很。
我根本没必要知道++是什么意思,对吧?
哈哈,我感觉我自己就像孔乙己,多学了几个茴香豆的“茴”的写法。