基元类型的概念:编译器直接支持的数据类型称为基元类型。基元类型会直接映射到Frameeork类库中存在的类型。
Int32 i = 21;
Int64 l = i;
像这样的没有继承关系的FCL类型之间的相互转换。按理说是不能通过的(根据第四章类型对象的知识),但是这样编写实际上是不会出错的。原因是编译器非常熟悉基元类型,并在编译代码时应用他自己的特殊规则。
首先:编译器能执行基元类型之间的隐式或者显式的转换。但是要在确保安全的前提下。所谓的安全是指,不能丢失数据。否则要求显示转换。(C#总是对数据进行截断处理,比如说,6.8转换为整数时,会直接取6.而不是向上取整。除非进行其他的操作来控制向上取整)