欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

C#数值转换-隐式数值转换表参考

程序员文章站 2023-12-10 18:18:22
什么是隐式转换 implicit conversion 隐式转换就是直接使用,比如可以把一个 byte 类型直接用在 int 上。 比如以下直接把 byte 的 b 赋给...
什么是隐式转换

implicit conversion

隐式转换就是直接使用,比如可以把一个 byte 类型直接用在 int 上。

比如以下直接把 byte 的 b 赋给 int 的 n,之间是直接用的,没存在什么额外的关键字,全由系统自动完成类型转换。

复制代码 代码如下:

byte b = 1;
int n = b;


隐式数值转换表(摘自 msdn)

sbyte

shortintlongfloatdouble  decimal

byte

shortushortintuintlongulongfloatdouble  decimal

short

intlongfloatdouble  decimal

ushort

intuintlongulongfloatdouble  decimal

int

longfloatdouble  decimal

uint

longulongfloatdouble  decimal

long

floatdouble  decimal

char

ushortintuintlongulongfloatdouble  decimal

float

double

ulong

floatdouble  decimal


备注(摘自 msdn)

从 int、uint 或 long 到 float 的转换以及从 long 到 double 的转换的精度可能会降低,但数值大小不受影响。

不存在到 char 类型的隐式转换。
不存在浮点型与 decimal 类型之间的隐式转换。
int 类型的常数表达式可转换为 sbyte、byte、short、ushort、uint 或 ulong,前提是常数表达式的值处于目标类型的范围之内。