该语言内置了一些隐式转换。
下表来自文档,这就是为什么您可以在没有显式强制转换或转换的情况下分配值的原因:
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
在文档中它指出(强调我的):
从 int、uint、long 或 ulong 到 float 以及从 long 或 ulong 到 double的转换可能会丢失精度,但不会丢失量级。