隐式转换:
所谓隐式转换,就是系统默认的转换,其本质是小存储容量数据类型自动转换为大存储容量数据类型。
参与运算(算数运算和赋值运算)的操作数和结果类型必须一致,当不一致时,满足两个条件时,系统会自动完成类型转换(隐式转换):
(1)两种类型兼容,比如都是数字类型
(2)目标类型大于源类型,例如,double>int
对于表达式而言,如果一个操作数是double型,则整个表达式可提升为double型。
可以隐式转换的有如下几种:
从sbyte类型到short,int,long,float,double,或decimal类型。
从byte类型到short,ushort,int,uint,long,ulong,float,double,或decimal类型。
从short类型到int,long,float,double,或decimal类型。
从ushort类型到int,uint,long,ulong,float,double,或decimal类型。
从int类型到long,float,double,或decimal类型。
从uint类型到long,ulong,float,double,或decimal类型。
从long类型到float,double,或decimal类型。
从ulong类型到float,double,或decimal类型。
从char类型到ushort,int,uint,long,ulong,float,double,或decimal类型。
从float类型到double类型。
显式转换:
即强制类型转换,此种转换会造成数据丢失。
用法举例如下:
double num1=505.5;
int num2=(int)num1;
在需要转换的数据前加上要转换成的类型。