大惊小怪的世界
Stay hungry,Stay foolish!

【C#】类型转换

隐式转换:从类型A到类型B的转换可在所有情况下进行,执行转换的规则非常简单,可以让编译器执行转换。

显式转换:从类型A到类型B的转换只能在某些情况下进行,转换规则比较复杂,应进行某种类型的额外处理。

一、隐式转换

隐式转换不需要做任何工作,也不需要另外编写代码。

var1 = var2

bool 和 string 没有隐式转换。

隐式数值转换

类型可以安全地转换为
byteshort,ushort,int,uint,long,ulong,float,double,decimal
sbyteshort,int,long,float,double,decimal
shortint,long,float,double,decimal
ushortint,uint,long,ulong,float,double,decimal
intlong,float,double,decimal
uintlong,ulong,float,double,decimal
longfloat,double,decimal
ulongfloat,double,decimal
floatdouble
charushort,int,uint,long,ulong,float,double,decimal

如果发生显式转换,那么编译器会警告。

二、显式转换

明确要求编译器把数值从一种数据类型转为另一种数据类型。

(<destinationType>)<sourceVar>

将 <sourceVar> 中的值转换为 <destinationType> 类型

可以为表达式设置溢出检查,关键词—— checkedunchecked

checked(<expression>)

unchecked(<expression>)

使用检查溢出时,如果表达式中的显式转换造成了数据溢出,编译器会报错。

也可以通过修改属性来设置是否检查溢出的选项:Check for arithmetic overflow/unoverflow ,它会影响程序的执行速度,因此不需要时应禁用它。

三、使用Convert进行显式转换

它们总是会进行溢出检查,checked 和 unchecked 关键字以及项目属性设置不起作用。

赞(1) 打赏
声明:
1. 本站所有文章教程及资源素材均来源于网络与用户分享或为本站原创,仅限用于学习和研究,未经允许不得转载。
2. 如果内容损害你的权益请联系大惊小怪给予处理。
文章名称:《【C#】类型转换》
文章链接:https://dxd365.com/csharp-type-conversion/

评论 抢沙发

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续提供更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫

微信扫一扫

登录

找回密码

注册