代码示例:
int i = 5;
object obj = i;
byte b = (byte)obj; // X
运行时,这会在"X"行生成一个"System.InvalidCastException"("指定的转换无效")错误。进行双重转换可以解决:
byte b = (byte)(int)obj;
我认为你应该能够将一个装箱的int(如果它在0.. 255范围内有值)转换为byte。有人可以解释一下吗? (这是在.NET 2.0中,如果有影响的话)。