发布网友 发布时间:2022-05-24 04:45
共3个回答
热心网友 时间:2024-12-02 15:06
是的,是实现了隐式转换和显示转换。追答那这个就得看object的GetType是怎么实现的了。
[MethodImpl(MethodImplOptions.InternalCall), SecuritySafeCritical]
public extern Type GetType();
上面这个就是,跟不下去了。
也许其实现就是这样吧,无从解释了。
热心网友 时间:2024-12-02 15:07
object a = 2; //这是个简单的装箱过程 不需要强转追答如果是这样object a = 2.2
那么输出的就是System.Double
主要是a指向的是什么样的数据类型
和下面的int b=(int)a 的int类型无关
热心网友 时间:2024-12-02 15:07
object a = 2; 装箱,因为不论解释成什么类型,object都兼容,所以就可以存,这个没疑问。但是 int b = a; 拆箱的时候不允许隐式拆箱,因为会涉及到内存大小,而GetType返回的一定是继承自object的类,估计默认是int或者根据一定规则返回的时候就返回int,但是拆箱的时候为了防止内存泄露,强制需要你显示转换