该语言内置了一些隐式转换。
下表来自文档 http://msdn.microsoft.com/en-us/library/y5b434w4.aspx,这就是为什么您可以在不进行显式强制转换或转换的情况下分配值:
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 来浮点和从 long 或 ulong 到 double.