记得在学C#基础时,有个疑问,值类型和引用类型进行隐式类型转换会造成装拆箱,但是用强制类型转换,有时候会避免装拆箱,一直不明白为什么,首先我们先看案例:
我们再看编译后的IL代码:
可以看出,隐式转换确实造成了装拆箱,ToString显示类型转换确实没有,原因就是显示类型转换调用了Number.FormatInt32方法,在内存中完成int到string的转换。
记得在学C#基础时,有个疑问,值类型和引用类型进行隐式类型转换会造成装拆箱,但是用强制类型转换,有时候会避免装拆箱,一直不明白为什么,首先我们先看案例:
我们再看编译后的IL代码:
可以看出,隐式转换确实造成了装拆箱,ToString显示类型转换确实没有,原因就是显示类型转换调用了Number.FormatInt32方法,在内存中完成int到string的转换。