.NET 中的“拳击”是如何工作的?

2024-01-08

我知道什么是“拳击”:

object myBox = 5;

现在我想增加我的知识。是否为这个拳击操作创建了一个特殊类型?或者是System.Object用过的? .NET 如何处理拳击?


没有特殊类型;装箱值类型是运行时的实现细节。但理解它的最简单方法是想象有一种特殊类型:

class Box<T> where T : struct
{
    T value;
}

哪里的类型Box<T>还实现了 T 的所有方法、接口等,无论 T 是什么。例如,你可以想象Box<int>有一个 ToString 方法,它只需对值调用 int.ToString 并返回结果。

装箱只是一种获取对非引用类型的引用的机制。您只需在该事物周围制作一个盒子并获取对该盒子的引用即可。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

.NET 中的“拳击”是如何工作的? 的相关文章

随机推荐