[笔记]C#基础入门(七)——C#的类型转换

    把不同类型的值放在一起运算,比如3.5+8 ,有下面2种情况:

 

    自动类型转换:2种不同类型的数据运算,低精度类型会自动转换为较高精度的类型。

 

    以3.5+8为例,显然数字8的精度较低(int),而3.5的精度较高(double),所以,8会自动转换为double型,即转换为3.5+8.0进行运算,结果为11.5。

 

    请看这个例子:

double d=2;

    2的精度显然低于变量d的精度,所以2会自动转换为2.0然后赋值给d。

 

    再看这个例子:

int i=3.0;

    变量i的精度低于3.0,但是由于i已经声明为int型的变量,变量的值可以变,但变量的类型可不能变来变去的,所以这条命令会出错的。

 

    强制类型转换:无法自动转换为我们需要的类型,可以用强制类型转换,比如上例可以这样完成:

int i=(int)3.0;

    数字前面的(int)表示转换的目标类型为int,3.0会被强制转换为3。

    需要注意, double 型强制转换为int型将失去小数部分,比如(int)2.8,我们得到的将是2。


以上摘自慕课网课程《C#开发轻松入门》

原文地址:https://www.cnblogs.com/qianhua/p/6607896.html