黑马程序员技术交流社区

标题: C#中关于隐式转换和显式转换,有什么区别? [打印本页]

作者: 不是炎亚纶    时间: 2013-11-11 13:14
标题: C#中关于隐式转换和显式转换,有什么区别?
本帖最后由 不是炎亚纶 于 2013-11-11 17:39 编辑

有什么区别呢?谢谢回答 :)
作者: 夢醒了⊙﹏⊙b心    时间: 2013-11-11 13:56
所谓隐式转换,隐式转换不需要在转换中指定转换类型,其本质是小存储容量数据类型自动转换为大存储容量数据类型。
所谓显式转换,需要指定转换类型,将大存储类型转换为小存储类型 俗称强制类型转换  极可能造成数据丢失

作者: y494890511    时间: 2013-11-11 15:25
隐式转换:就是在不丢失精度的请况下程序自动给我转换。如:int类型转换为double类型
强制转换:强制转换会丢失精度,需要程序员自己强制转换,如:double类型转换为int类型。
作者: Sayme    时间: 2013-11-12 09:59
学习了....
作者: §風過無痕§    时间: 2013-11-12 17:20
隐式转换    主动的   不会丢失精度! 系统默认的自动转换,其本质是小存储容量数据类型自动转换为大存储容量 如:从int类型到long,float,double,或decimal类型。

显式转换    被动的      会丢失精度!显示转换本身不会使变量改变类型,只是计算时的值改变类型;
显式转换又叫强制转换,用小括号来强制转换,转换不当会使计算失误double a=6.235;  int b=(int) a;
如:从int到sbyte,byte,short,ushort,uint,ulong,或char。






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2