C#中装箱和拆箱的区别

装箱和拆箱是 C# 中的一个重要概念。C# 类型系统包含三种数据类型:值类型(intchar 等)、引用类型(对象)和指针类型。基本上,它将值类型转换为引用类型,反之亦然。装箱和拆箱实现了类型系统的统一视图,其中任何类型的值都可以视为对象。

装箱和拆箱的区别 -

装箱 拆箱
它将值类型转换为对象类型 它将对象类型转换为值类型
装箱是一种隐式转换过程 拆箱是显式转换过程
装箱将栈中存储的值复制到堆内存中存储的对象中 拆箱堆内存上存储的对象复制到栈上存储的值

装箱的示例:

// C# program to illustrate Boxing
using System;

public class YiibaiDemo {
    static public void Main()
    {
        int val = 2024;

        // Boxing
        object o = val;

        // Change the value of val
        val = 2025;

        Console.WriteLine(Value type of val is {0}, val);
        Console.WriteLine(Object type of val is {0}, o);
    }
}

运行结果:

Value type of val is 2025
Object type of val is 2024

拆箱的示例:

// C# program to illustrate UnBoxing
using System;

public class YiibaiDemo {
    static public void Main()
    {
        int val = 2025;

        // Boxing
        object o = val;

        // UnBoxing
        int x = (int)o;

        Console.WriteLine(Value of o is {0}, o);
        Console.WriteLine(Value of x is {0}, x);
    }
}

运行结果:

Value type of val is 2025
Object type of val is 2025

相关文章

显卡天梯图2024最新版,显卡是电脑进行图形处理的重要设备,...
初始化电脑时出现问题怎么办,可以使用win系统的安装介质,连...
todesk远程开机怎么设置,两台电脑要在同一局域网内,然后需...
油猴谷歌插件怎么安装,可以通过谷歌应用商店进行安装,需要...
虚拟内存这个名词想必很多人都听说过,我们在使用电脑的时候...