装箱和拆箱是 C# 中的一个重要概念。 C# 类型系统包含三种数据类型:值类型(int、char 等)、引用类型(对象)和指针类型。本质上,它将值类型转换为引用类型,反之亦然。装箱和拆箱支持类型系统的统一视图,其中任何类型的值都可以被视为对象。
拳击 | 拆箱 |
---|---|
它将值类型转换为对象类型。 | 它将对象类型转换为值类型。 |
装箱是一个隐式转换过程。 | 拆箱是显式转换过程。 |
这里,存储在堆栈上的值复制到存储在堆内存上的对象。 | 这里,存储在堆内存上的对象复制到存储在堆栈上的值。 |
例子:
输出: Value type of val is 2000 Object type of val is 2019 |
例子:
输出: Value of o is 2019 Value of x is 2019 |
相关用法
- C# Boolean.GetTypeCode()用法及代码示例
- C# Boolean.GetHashCode()用法及代码示例
- C# Boolean.GetTypeCode用法及代码示例
- C# Boolean.ToString(IFormatProvider)用法及代码示例
- C# Boolean.CompareTo(Boolean)用法及代码示例
- C# Boolean.CompareTo(Object)用法及代码示例
- C# Boolean.Equals(Boolean)用法及代码示例
- C# Boolean.Equals(Object)用法及代码示例
- C# Boolean.Parse()用法及代码示例
- C# Boolean.ToString()用法及代码示例
- C# Boolean.TryParse()用法及代码示例
- C# BitConverter.ToUInt16()用法及代码示例
- C# BitConverter.ToUInt32()用法及代码示例
- C# Byte.ToString()用法及代码示例
- C# BitArray.LeftShift()用法及代码示例
- C# BitArray.RightShift()用法及代码示例
- C# BitConverter.DoubleToInt64Bits()用法及代码示例
- C# BitConverter.Int64BitsToDouble()用法及代码示例
- C# BitConverter.ToBoolean()用法及代码示例
- C# BitConverter.ToChar()用法及代码示例
- C# BitConverter.ToDouble()用法及代码示例
- C# BitConverter.ToInt16()用法及代码示例
- C# BitConverter.ToInt32()用法及代码示例
- C# BitConverter.ToInt64()用法及代码示例
- C# BitConverter.ToSingle()用法及代码示例
注:本文由纯净天空筛选整理自ankita_saini大神的英文原创作品 Difference between Boxing and Unboxing in C#。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。