.net 课程是盒装的吗。网

.net 课程是盒装的吗。网,.net,boxing,.net,Boxing,我在想,一个班级会被封杀吗?我总是假设每个类都有一个虚拟表,可以用来标识类,那么它是否需要装箱?只有值类型(结构)才能装箱。类实例不会被装箱。否。类是引用类型,因此不需要装箱。装箱用于将值表示为对象(以便提供.NET的统一类型系统)。由于类的实例已经是对象,因此它们永远不需要装箱 不,他们不是 装箱是指将原始类型(int、char、long等)包装到类中(即装箱)。我很高兴我的想法是正确的:DYeah,但它不是一个结构。@Brian Rasmussen:事实上是这样的。(参见回答中的注释)不符合

我在想,一个班级会被封杀吗?我总是假设每个类都有一个虚拟表,可以用来标识类,那么它是否需要装箱?

只有值类型(结构)才能装箱。类实例不会被装箱。

否。类是引用类型,因此不需要装箱。装箱用于将值表示为对象(以便提供.NET的统一类型系统)。由于类的实例已经是对象,因此它们永远不需要装箱

不,他们不是


装箱是指将原始类型(int、char、long等)包装到类中(即装箱)。

我很高兴我的想法是正确的:DYeah,但它不是一个结构。@Brian Rasmussen:事实上是这样的。(参见回答中的注释)不符合语言规范:“C#的值类型进一步分为简单类型、枚举类型、结构类型和可空类型。”int、short、long等被列为简单类型。好吧,我今天学到了一些东西:语言规范也指出“C#提供了一组预定义的结构类型,称为简单类型”。@Brian:读了最后一条评论后,我也学到了一些东西。很有趣。