码迷,mamicode.com
首页 > Windows程序 > 详细

浅谈c#中的类型转换

时间:2017-05-14 15:29:39      阅读:183      评论:0      收藏:0      [点我收藏+]

标签:相同   装箱   long   对象   包括   UI   条件   数据   执行   

隐式转换:

隐式转换就是系统默认的、不需要加以声明就可以进行的转换。在隐式转换过程中,编译器无需对转换进行详细检查就能够安全地执行转换。

比如从int类型转换到long类型就是一种隐式转换。隐式转换一般不会失败,转换过程中也不会导致信息丢失。

 比如:

 

int i=10; 

long l=i; 

装箱转换实际上就是一种隐式类型转换。在本节,我们还将讲解以下隐式转换的规则:

 

 

隐式数值转换

 

隐式数值转换包括以下几种:

 

●从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类型。

 

其中,从int,uint,或long到float以及从long到double的转换可能会导致精度下降,但决不会引起数量上的丢失。其它的隐式数值转换则不会有任何信息丢失。

 

 

 

 

显式转换:

隐式引用转换包括以下几类:

 

●从任何引用类型到对象类型的转换

 

●从类类型s到类类型t的转换,其中s是t的派生类。

 

●从类类型s

到接口类型t的转换,其中类s实现了接口t。

 

●从接口类型s到接口类t的转换,其中t是s的父接口。

 从元素类型为Ts的数组类型S向元素类型为Tt的数组类型T转换,这种转换需要满足下列条件:

 

●S和T只有元素的数据类型不同,但它们的维数相同。

 

浅谈c#中的类型转换

标签:相同   装箱   long   对象   包括   UI   条件   数据   执行   

原文地址:http://www.cnblogs.com/xiliLILY/p/6852542.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!