什么是显式转换
Explicit Conversion
就是在将一种类型转换成另外一种类型时,需要额外的代码来完成这种转换。
显式转换需要注意,它的结果不一定是我们想要的。
上面的结果是 0,因为超过 255 了,它就从 0 开始;
如果 n 是 257,那么 b 就是 1;
如果 n 是 258,那么 b 就是 2;
……
由此还得说下 Convert,Convert 这个类用来转换类型,它有很多方法,比如 ToInt32,就是转换成 int。它涉及的类型跨度很大,比如可将 object、string 等转换成 int,而 (int) 则只能将数字类型转换成 int。
更多相关内容,请参见 Convert、Parse、TryParse、(int) 的区别。
显式数值转换表(摘自 MSDN)
从 到 sbyte byte、ushort、uint、ulong 或 char byte Sbyte 或者char short sbyte、byte、ushort、uint、ulong 或 char ushort sbyte、byte、short 或 char int sbyte、byte、short、ushort、uint、ulong 或 char uint sbyte、byte、short、ushort、int 或 char long sbyte、byte、short、ushort、int、uint、ulong 或 char ulong sbyte、byte、short、ushort、int、uint、long 或 char char sbyte、byte 或 short float sbyte、byte、short、ushort、int、uint、long、ulong、char 或 decimal double sbyte、byte、short、ushort、int、uint、long、ulong、char、float 或 decimal decimal sbyte、byte、short、ushort、int、uint、long、ulong、char、float 或 double
备注(摘自 MSDN)