今天我遇到了一个问题,我不完全确定它为什么不起作用。在c中铸造对象类型#
下面的代码示例会崩溃:
static void Main(string[] args)
{
int i32 = 10;
object obj = i32;
long i64 = (long)obj;
}
这将导致一个InvalidCastException。为什么这不起作用? C#没有足够的智能来知道对象实际上是int类型的吗?
我已经想出了一个解决方法,但我很好奇为什么上面的代码示例不起作用。
感谢, 添
我注意到这是许多以前的问题的重复,包括最近http://stackoverflow.com/questions/3911293 – 2010-10-13 05:18:47