下表显示预定义隐式数值转换。 隐式转换可能会在许多情况下出现(包括方法调用和赋值语句)。
| From | 到 |
|---|---|
| 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 |
备注
-
在从
int、uint、long或ulong转换为float,以及从long或ulong转换为double时,可能会丢失精度,但不会丢失量值。 -
不存在针对
char类型的隐式转换。 -
浮点类型与
decimal类型之间不存在隐式转换。 -
int类型的常数表达式可以转换为sbyte、byte、short、ushort、uint或ulong,前提是常数表达式的值处于目标类型的范围内。
C# 语言规范
有关详细信息,请参阅 C# 语言规范。 该语言规范是 C# 语法和用法的权威资料。
浙公网安备 33010602011771号