类型转换就是江一中类型转换成另一种类型,转换可以使隐式转换或者显式转换

隐式转换

所谓隐式转换就是不需要声明就能进行的转换,进行隐式转换时,编译器不需要进行检查就能自动进行转换

源类型目标类型
sbyteshort、int、long、float、double、decimal
byteshort、ushort、int、uint、long、ulong、float、doubl、decimal
shortint、long、float、double、decimal
ushortint、unit、long、ulong、float、double、decimal
intlong、float、double、decimal
uintlong、ulong、float、double、decimal
charushort、int、uint、long、ulong、float、double、decimal
floatdouble
ulongfloat、double、decimal
longfloat、double、decimal

从int、unit、long或ulong到float,以及从long或ulong到double的转换可能导致精度损失,但是不会影响其数量级。其他的隐式转换不会丢失任何信息。

显式转换

显式转换也可以称为强制转换,需要在代码中明确地声明要转换的类型。如果要把高精度的变量的值赋给低精度的变量,就需要使用显式转换

源类型目标类型
sbytebyte、ushort、uint、ulong、char、
bytesbyte、char
shortsbyte、byte、ushort、uint、ulong、char
ushortsbyte、byte、short、char
intsbyte、byteshort、ushort、uint、ulong、cahr
uintsbyte、byte、short、ushort、int、char
charsbyte、byte、short
floatsbyte、byte、short、ushort、int、uint、long、ulong、char、decimal
ulongsbyte、byte、short、ushort、int、uint、long、char
longsbyte、byte、short、ushort、int、uint、ulong、char
doublesbyte、byte、short、ushort、int、uint、ulong、long、char、decimal
decimalsbyte、byte、short、ushort、int、uint、ulong、long、char、double

由于显式转换包括所有隐式转换和显式转换,因此总是可以使用强制转换表达式将任何数值类型转换为任何其他的数值类型。

最后修改:2021 年 11 月 02 日 03 : 22 PM
如果觉得我的文章对你有用,请随意赞赏