首页 > 代码库 > C# 装箱和拆箱的简单理解
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# 装箱和拆箱的简单理解
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。