C# 装箱和拆箱的简单理解
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# 装箱和拆箱的简单理解相关的知识,希望对你有一定的参考价值。
一、装箱拆箱的意义
主要用途是可以向ArrayList中添加值类型的元素
二、理解
装箱的含义:理解为可以将子类对象隐式的转化为父类对象(保留自己特有的成员,和子类重写的成员)
装箱:例子为典型的装箱过程,因为int为object的子类,故int 的对象可以隐式的转化为object的对象
int i=1;
object obj=i;
拆箱:需要显式的转化为值类型,但是必须是装箱过程中的类型,否则会拆箱失败,即装箱时是什么类型,拆箱就是什么类型。
(int)obj;
三、is方法
主要用于检测operand的对象能否转化为type对象,这就得看operand是否是type的子类了
is运算符的语法如下:
<operand>is<type>
这个表达式的结果如下
1.如果<type>是一个类类型,而<operand>也是这个类型,或者它继承了这个类型,或者它封箱到这个类型中,则结果为true.
2.如果<type>是一个接口类型,而<operand>也是这个类型,或者它是实现这个接口的类型,则结果为true;
3.如果<type>是一个值类型,而<operand>也是这个类型,或者它被拆箱到这类型中,则结果为true.
四、重载运算符:和普通的方法无太大的区别,主要是用static修饰和方法名变成了 operator 运算符
public static 类名 operator 运算符(参数)
{
return ;
}
以上是关于C# 装箱和拆箱的简单理解的主要内容,如果未能解决你的问题,请参考以下文章