下表显示了预定义的隐式数值转换。 隐式转换可能在多种情形下发生,包括调用方法时和在赋值语句中。
| 发件人 | 若要 | 
|---|---|
| short、int、long、float、double 或 decimal | |
| short、ushort、int、uint、long、ulong、float、double 或 decimal | |
| int、long、float、double 或 decimal | |
| int、uint、long、ulong、float、double 或 decimal | |
| long、float、double 或 decimal | |
| long、ulong、float、double 或 decimal | |
| float、double 或 decimal | |
| ushort、int、uint、long、ulong、float、double 或 decimal | |
| double | |
| float、double 或 decimal | 
备注
- 从 int、uint 或 long 到 float 的转换以及从 long 到 double 的转换的精度可能会降低,但数值大小不受影响。 
- 不存在到 char 类型的隐式转换。 
- 不存在浮点型与 decimal 类型之间的隐式转换。 
- int 类型的常数表达式可转换为 sbyte、byte、short、ushort、uint 或 ulong,前提是常数表达式的值处于目标类型的范围之内。 
C# 语言规范
有关更多信息,请参见 C# 语言规范。C# 语言规范是 C# 语法和用法的权威资料。