C#为什么要装箱和拆箱

来自论坛4楼的回答非常棒,地址:https://bbs.csdn.net/topics/390624164?page=1

内容如下:

   道理很简单,按理说C#被设计成一种完全面向对象的语言。因此,包括数字、字符、日期、布尔值等等在内的一切,都是对象。似乎只需要一种方式来对待这些对象就可以了。但是C#不是只停留在学院中和理想中,它必须为性能而妥协,我们知道,对于CPU来说,处理一个完整的对象,需要很多的指令,对于内存来说,又需要很多的内存。如果连整数都是对象,那么性能自然很低。C#于是使用了一种机制,使得这些基本类型在一般的编程中被当作非对象的简单类型处理,在另一些场合,又允许它们被视作是一个对象。这种机制就是装箱和拆箱。装箱后的对象看上去和一个对象一样,拥有方法,可以当作object处理,拆箱后的变量,看上去又如同C语言中的那些变量、结构体一样,可以直接参与运算和处理。

C#为什么要装箱和拆箱

上一篇:git 安装windows错误处理


下一篇:[转]C#中 ??、 ?、 ?: 、?.、?[ ] 问号