首页 > Windows开发 > 详细

C# 装箱和拆箱的简单理解

时间:2016-11-16 14:41:23      阅读:253      评论:0      收藏:0      [点我收藏+]

一、装箱拆箱的意义

主要用途是可以向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# 装箱和拆箱的简单理解

原文:http://www.cnblogs.com/maozheng/p/6069078.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!