C#基础-类型强制转换,拆箱,装箱

原创 2013年12月02日 21:52:51
一、装箱和拆箱
装箱就是 将值类型转换为引用类型。拆箱就是 将引用类型转换为值类型。
比如我们非常常用的 .ToString() 方法,就是典型的一个装箱的过程。

再如下面的例子:

int i=10;
object y=(object) i ; //这就是装箱
int x=(int)y; //这是拆箱。


二、对象的相等比较
在C#中,有四种比较相等的方法。
1、ReferenceEquals() 该方法是一个静态方法,用来判断两个引用是否指向同一个实例。也就是是否 指向同一个内存地址,如果是,则返回true ,否则返回 false。
2、虚拟的 Equals() 方法。因为是虚拟的方法,所以可以重写。这样它既可以用来比较对象,也可以 比较值。
3、静态的 Equals() 方法,这与虚拟的Equals()方法作用相同,只是带有两个参数,并对其进行比较 。这个方法可以处理两个对象中有一个是null 的情况,当有一个是null 的时候,就会抛出异常。
4、比较运算符 == 我们最好把这种比较看做是严格值比较和严格引用比较之间的中间选项。但注意 ,通过这样的方式比较字符串的时候,而不是引用。

相关文章推荐

c#数值类型,转换和装箱拆箱

  • 2011年09月19日 19:32
  • 1.29MB
  • 下载

C# 数据类型基础,堆栈,装箱与拆箱

引言 本文之初的目的是讲述设计模式中的 Prototype(原型)模式,但是如果想较清楚地弄明白这个模式,需要了解对象克隆(Object Clone),Clone其实也就是对象复制。复制又分为了...

C#基础知识整理 基础知识(19) 值类型的装箱和拆箱(二)

如果代码中会造成编译器的反复装箱,可改为手动装箱,这样来使代码执行更快,看下面代码: //手动装箱 Int32 v = 5; ...

php基础教程变量类型的强制转换

  • 2013年04月21日 18:54
  • 753B
  • 下载

C#基础知识系列二(值类型和引用类型、可空类型、堆和栈、装箱和拆箱)

前言   之前对几个没什么理解,只是简单的用过可空类型,也是知道怎么用,至于为什么,还真不太清楚,通过整理本文章学到了很多知识,也许对于以后的各种代码优化都有好处。   本文的重点就是:值...

java 常用基础类型之强制转换

  • 2010年06月18日 15:42
  • 59KB
  • 下载

Android中的java基础(二)——装箱与拆箱及不同基本类型的比较(类型转换)

无论在Android还是java中,我们都会遇到基本数据类型以及对应到引用数据类型的转换操作等等,这里通过装箱拆箱操作以及类型转换进行实例分析。...

pp看书笔记---C#高级编程第九版 第七章 【运算符和类型强制转换】

写在前面: 1.介绍一些不常见但有用的运算符 2.介绍C#对象相等判断方法及解析 3.运算符重载 4.类型强制转换运算符(对5的拓展,是4的一种) 不常见但有用的运算符 checked ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C#基础-类型强制转换,拆箱,装箱
举报原因:
原因补充:

(最多只允许输入30个字)