C# 是一门强类型语言,对类型要求比较严格,但是在一定的条件下也是可以相互转换的, 如将 int 型数据转换成 double 型数据。 C# 允许使用两种转换方式:隐式类型转换和显式类型转换。
隐式类型转换:
隐式类型转换是 C# 默认的以安全方式进行的转换,不会导致数据丢失。例如,从小的整数 类型转换为大的整数类型,从派生类转换为基类。 隐式转换主要是在整型、浮点型之间的转换,将存储范围小的数据类型直接转换成存储范围 大的数据类型。
隐式数值转换实际上就是从低精度的数值类型到高精度的数值类型的转换。
显式类型转换:显式类型转换,即强制类型转换。显式转换需要强制转换运算符,而且强制转换会造成数据 丢失。 强制类型转换主要用于将存储范围大的数据类型转换成存储范围小的,但数据类型需要兼容。
拆箱和装箱:
装箱:将值类型转换为引用类型的操作。
拆箱:相应地将引用类型转换成值类型。
利用装箱和拆箱功能,可通过允许值类型的任何值与 Object 类型的值相互转换,将值类型 与引用类型链接起来。