相关疑难解决方法(0)

什么是拳击和拆箱以及有什么权衡取舍?

我正在寻找一个清晰,简洁和准确的答案.

理想情况下,作为实际答案,虽然欢迎链接到良好的解释.

language-agnostic boxing unboxing glossary

128
推荐指数
4
解决办法
5万
查看次数

拳击和拆箱会在阵列中发生吗?

我是编程的新手,

根据MSDN,

Boxing是将值类型转换为类型对象或由此值类型实现的任何接口类型的过程.当CLR选中一个值类型时,它将值包装在System.Object中并将其存储在托管堆上.取消装箱从对象中提取值类型.拳击是隐含的; 拆箱是明确的.

我知道我们可以在arraylist中存储任何对象,因为它system.object是所有类型的基础.拳击和拆箱发生在阵列列表中.我同意这一点.

拳击和拆箱会发生在阵列中吗?因为我们可以创建如下的对象数组

object[] arr = new object[4] { 1, "abc", 'c', 12.25 };
Run Code Online (Sandbox Code Playgroud)

我的理解是拳击和拆箱发生在这样的数组正确吗?

c# arrays boxing

13
推荐指数
3
解决办法
2258
查看次数

带引用类型变量的对象类型装箱

拳击是指将值类型分配给对象类型.将引用类型分配给对象时是否相同?

当分配一个类型(不是对象)时,会发生什么?那拳击呢?

    int num=5;
    object obj = num;  //boxing
    //////////////////////
    MyClass my = new MyClass();
    object obj = my; //what is name this convert  (whethere is boxing?)
Run Code Online (Sandbox Code Playgroud)

c# asp.net boxing

8
推荐指数
2
解决办法
4446
查看次数

标签 统计

boxing ×3

c# ×2

arrays ×1

asp.net ×1

glossary ×1

language-agnostic ×1

unboxing ×1