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 

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/264286.html

(0)
上一篇 2022年6月7日
下一篇 2022年6月7日

相关推荐

发表回复

登录后才能评论