1.
short x=32767;
int y=2147483647;
long z=9223372036854775807;
对于常数类型的变量个人认为现在面对的问题大多数并不是空间方面的问题,所以并不经常使用short类型的变量来压缩空间,或者说对算法占用空间的常数级变化感官不明显,更多的关注方向在于对于算法时间的优化和定量。
对于long与ulong之类的无符号类型的变量没有太多看法。。或者说感觉使用次数比较少。不过可以拓展变量的上限,代价是失去了下限。更好的情况不如编译高精度算法来代替,使用数组来存储更大的变量,当然代价是使用更多的空间。
x=(short)y;
个人感觉倾向于类似强制转换。与c++有很多相似的概念所以比较容易理解。显然上面这个语句已经错了。
强制转换某些时候会产生不必要的bug。
2.
switch语句的使用偏向于大量反复的使用case,而使用case语句就必须使用大量的break,否则就会产生bug
int testme = 3;
switch (testme)
{
case 2:
case 3:
testme = 1;
break;
default:
testme = 1;
break;
}
但是当case语句中什么都没有的时候可以不使用case,无法理解。
事实上逻辑关系比较难以掌握,通过case值来决定下一步的操作并不是一件轻松就能完成的方法。