c#语言------------类型转换3(装箱和拆箱)

本文详细介绍了C#中的装箱和拆箱概念,装箱是将值类型转换为引用类型(object类型),而拆箱则是将引用类型转换回值类型。文章强调了尽量避免频繁进行装箱和拆箱操作以减少运行时间的影响。通过实例分析了不同类型之间的转换,如string到int,并指出只有存在继承关系的类型间转换才可能涉及拆装箱。
摘要由CSDN通过智能技术生成

1、装箱就是将值类型转换为引用类型(object类型是一切类型的父类,根据里式转换法可以接受任意类型的数据,当然也可以强制转换为其他类型)

2、拆箱就是将引用类型转换为值类型

*在代码中尽量减少装箱和拆箱,一旦有装箱和拆箱就会影响运行时间

**看两种类型是否发生了装箱和拆箱,要看这两种类型是否有继承关系;如果没有继承关系例如:string 转换为int,他们没有继承关系,在内存上一个在栈中一个在堆中,内存没有交集不会发生拆装箱,有继承关系的在内存中才有可能没有有交集

 string str = "123456";int num = Convert.ToInt32(str); 此处没有发生类型转换

1、拆装箱:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace 拆箱和装箱
{
    class Program
    {
        static void Main(string[] args)
        {
            //object 是一切类的直接或间接父类
            int m = 10;
            object obj = m;//装箱
            int n = (int)obj;//拆箱
            
            Console.WriteLine(obj);
            Console.WriteLine(n);
          
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值