 |
| C# Programmer's Reference |
|
Implicit Numeric Conversions Table
The following table shows the predefined implicit numeric conversions. Implicit conversions might occur in many situations, including method invoking and assignment statements.
| From |
To |
| sbyte |
short, int, long, float, double, or decimal |
| byte |
short, ushort, int, uint, long, ulong, float, double, or decimal |
| short |
int, long, float, double, or decimal |
| ushort |
int, uint, long, ulong, float, double, or decimal |
| int |
long, float, double, or decimal |
| uint |
long, ulong, float, double, or decimal |
| long |
float, double, or decimal |
| char |
ushort, int, uint, long, ulong, float, double, or decimal |
| float |
double |
| ulong |
float, double, or decimal |
Remarks
- The conversions from int, uint, or long to float and from long to double may cause a loss of precision, but not a loss of magnitude.
- There are no implicit conversions to the char type.
- There are no implicit conversions between floating-point types and the decimal type.
- A constant expression of type int can be converted to sbyte, byte, short, ushort, uint, or ulong, provided the value of the constant expression is within the range of the destination type.
For more information on implicit conversion, see 6.1 Implicit conversions.
For more information on constant expressions, see 7.15 Constant expressions.
See Also
Integral Types Table | Built-in Types Table | Explicit Numeric Conversions Table
|
 |