C#整形之间的转换问题
在msdn上short关键字的描述中有这样一段话:
short x = 32767;
在以上声明中,整数 32767 从 int 隐式转换为 short。 如果整数的长度超过了 short 存储位置的大小,则将产生编译错误。
后半句我理解,前半句“从 int 隐式转换为 short”却让人糊涂了,int怎么能隐式转换到short?后面还有这么一段话“不能将存储大小更大的非文本数值类型隐式转换为 short 类型”,int类型只能隐式转换到long 、float、double 或 decimal类型,这不是前后矛盾吗?还是中文翻译的问题?
我对整形变量的赋值一直不太理解,32767默认应该是int类型,赋值给short类型变量,应该发生强制转换才对,为什么这里说是隐式转换?请高手解答。