我正在研究C#,这对我来说听起来很奇怪......
为什么要添加到short
类型我必须进行显式转换?
short x = 1, y = 1;
short z = x + y; // Compile-time error
明确演员:
short z = (short) (x + y); // OK
答案 0 :(得分:1)
显示编译错误,因为赋值运算符右侧的算术表达式默认值为int。所以你需要做类型转换。
虽然可以将long操作数与其他数据类型(如long int double)一起使用,其中目标变量具有相同的存储大小或更大的存储大小但短小的大小更小,因此您无法直接使用它。