C#中的拆装箱,与object类型紧密相关

   class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");
            int a = 1;
            //装箱操作:比较消耗性能“最” box
            //值类型隐式转换为object类型或由此值类型实现的任何接口类型的过程
            //内部机制:
            /*1在堆中开辟内存空间,存储以下三个内容
             * ①int
             * ②同步索引快
             * ③类型对象指针
             * 2将值类型的数据复制到堆中
             * 3返回堆中新分配对象的地址
             */
            object o = a;
            //拆箱操作: 也消耗性能  unbox
            /*从object类型转到值类型或从接口类型到实现该接口的值类型的显示转换
             * 内部机制:
             * 1判断给定类型是否是装箱时的类型
             * 2返回已装箱实例中属于值类型字段的地址
             */
            int b = (int)0;
            //拆装箱的作用是什么呢?
            //形参是obeject 类型,实参传递值类型,则装箱
            //可以通过 重载和泛型  避免。
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值