gpt4 book ai didi

.net - "boxing"在 .NET 中如何工作?

转载 作者:行者123 更新时间:2023-12-05 01:17:32 25 4
gpt4 key购买 nike

我知道“拳击”是什么:

object myBox = 5;

现在我想增长我的知识。是否为此装箱操作创建了一个特殊类型?还是使用了 System.Object? .NET 如何处理装箱?

最佳答案

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

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

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

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

关于.net - "boxing"在 .NET 中如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5997398/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com