C#数值转换-隐式数值转换表参考
时间:2021-05-09 07:45:17|栏目:.NET代码|点击: 次
什么是隐式转换
Implicit Conversion
隐式转换就是直接使用,比如可以把一个 byte 类型直接用在 int 上。
比如以下直接把 byte 的 b 赋给 int 的 n,之间是直接用的,没存在什么额外的关键字,全由系统自动完成类型转换。
byte b = 1;
int n = b;
隐式数值转换表(摘自 MSDN)
备注(摘自 MSDN)
从 int、uint 或 long 到 float 的转换以及从 long 到 double 的转换的精度可能会降低,但数值大小不受影响。
不存在到 char 类型的隐式转换。
不存在浮点型与 decimal 类型之间的隐式转换。
int 类型的常数表达式可转换为 sbyte、byte、short、ushort、uint 或 ulong,前提是常数表达式的值处于目标类型的范围之内。
Implicit Conversion
隐式转换就是直接使用,比如可以把一个 byte 类型直接用在 int 上。
比如以下直接把 byte 的 b 赋给 int 的 n,之间是直接用的,没存在什么额外的关键字,全由系统自动完成类型转换。
复制代码 代码如下:
byte b = 1;
int n = b;
隐式数值转换表(摘自 MSDN)
| 从 |
到 |
|---|---|
| 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 |
| char |
ushort、int、uint、long、ulong、float、double 或 decimal |
| float |
double |
| ulong |
float、double 或 decimal |
备注(摘自 MSDN)
从 int、uint 或 long 到 float 的转换以及从 long 到 double 的转换的精度可能会降低,但数值大小不受影响。
不存在到 char 类型的隐式转换。
不存在浮点型与 decimal 类型之间的隐式转换。
int 类型的常数表达式可转换为 sbyte、byte、short、ushort、uint 或 ulong,前提是常数表达式的值处于目标类型的范围之内。






