其他分享
首页 > 其他分享> > .NET学习——1.类型转换表

.NET学习——1.类型转换表

作者:互联网

内置类型(C# 参考)

下表列出了 C# 内置类型:

C# 类型关键字 .NET 类型
bool System.Boolean
byte System.Byte
sbyte System.SByte
char System.Char
decimal System.Decimal
double System.Double
float System.Single
int System.Int32
uint System.UInt32
nint System.IntPtr
nuint System.UIntPtr
long System.Int64
ulong System.UInt64
short System.Int16
ushort System.UInt16

下表列出了 C# 内置引用类型:

C# 类型关键字 .NET 类型
object System.Object
string System.String
dynamic System.Object

扩大转换

下表列出了执行不会导致信息丢失的扩大转换。

类型 可在不丢失数据的情况下转换为
Byte UInt16Int16UInt32Int32UInt64Int64SingleDoubleDecimal
SByte Int16、 Int32、 Int64、 Single、 Double、 Decimal
Int16 Int32Int64SingleDoubleDecimal
UInt16 UInt32Int32UInt64Int64SingleDoubleDecimal
Char UInt16UInt32Int32UInt64Int64SingleDoubleDecimal
Int32 Int64DoubleDecimal
UInt32 Int64UInt64DoubleDecimal
Int64 Decimal
UInt64 Decimal
Single Double

一些目标为 Single 或 Double 的扩大转换可能会导致精度丢失。 下面的表格描述了有时会导致信息丢失的扩大转换。

类型 可转换为
Int32 Single
UInt32 Single
Int64 Single, Double
UInt64 Single, Double
Decimal Single, Double

收缩转换

目标为 Single 或 Double 的收缩转换可能会导致信息丢失。 如果目标类型无法正确表达源类型的大小,则结果类型将设置为常数 PositiveInfinity 或 NegativeInfinity。 PositiveInfinity 是正数除以 0 的结果,也在 Single 或 Double 的值大于 MaxValue 字段的值时返回。 NegativeInfinity 是负数除以 0 的结果,也在 Single 或 Double 的值小于 MinValue 字段的值时返回。 从 Double 转换到 Single 可能会导致 PositiveInfinity 或 NegativeInfinity

收缩转换还可能导致其他数据类型的信息丢失。 不过,如果要转换的类型值不在目标类型的 MaxValue 和 MinValue 字段指定的范围内,就会抛出 OverflowException,并且运行时会检查转换,以确保目标类型的值不超出它的 MaxValue 或 MinValue。 始终以这种方式检查使用 System.Convert 类执行的转换。

下表列出了使用 System.Convert 抛出 OverflowException 的转换,或要转换类型的值不在生成类型的定义范围内的任何已检查转换。

类型 可转换为
Byte SByte
SByte ByteUInt16UInt32UInt64
Int16 ByteSByteUInt16
UInt16 ByteSByteInt16
Int32 ByteSByteInt16UInt16,UInt32
UInt32 ByteSByteInt16UInt16Int32
Int64 ByteSByteInt16UInt16Int32,UInt32,UInt64
UInt64 ByteSByteInt16UInt16Int32UInt32Int64
Decimal ByteSByteInt16UInt16Int32UInt32Int64UInt64
Single ByteSByteInt16UInt16Int32UInt32Int64UInt64
Double ByteSByteInt16UInt16Int32UInt32Int64UInt64

 

参考:

类型转换表

 

 

标签:类型转换,Int32,Double,System,学习,Single,Int64,NET,UInt32
来源: https://www.cnblogs.com/breakr-yu/p/16031252.html