gpt4 book ai didi

.net - 装箱/拆箱和类型转换有什么区别?

转载 作者:行者123 更新时间:2023-12-03 05:27:33 26 4
gpt4 key购买 nike

装箱/拆箱和类型转换之间有什么区别?

这些术语似乎经常可以互换使用。

最佳答案

装箱是指将不可空值类型转换为引用类型或将值类型转换为其实现的某个接口(interface)(例如 intIComparable<int> )。此外,基础值类型到可为空类型的转换也是装箱转换。 (警告:此主题的大多数讨论都会忽略后两种类型的转换。)

例如,

int i = 5;
object o = i;

转换iobject 类型的实例.

拆箱是指从 object 实例的显式转换或ValueType到不可为空值类型,即接口(interface)类型到不可为空值类型的转换(例如, IComparable<int>int )。此外,可空类型到基础类型的转换也是拆箱转换。 (警告:此主题的大多数讨论都会忽略后两种类型的转换。)

例如,

object o = (int)5;
int i = (int)o;

转换 o 中装箱的整数到 int 类型的实例。

类型转换是将表达式显式转换为给定类型。因此

(type) expression

显式转换expressiontype 类型的对象.

关于.net - 装箱/拆箱和类型转换有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1085144/

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