现在的位置: 首页 > 综合 > 正文

C#中的数据类型

2012年04月01日 ⁄ 综合 ⁄ 共 790字 ⁄ 字号 评论关闭

C#包括两种变量类型:值类型和引用类型。


  • 值类型

所谓值类型就是一个包含实际数据的量。当定义一个值类型的变量时,C#会根据它所声明的变量类型,以堆栈方式分配一块大小想适应的存储区域给这个声明的变量,随后对这个变量的读写操作就直接在这块内存区域进行。

Int iNum=10
iNum=iNum+10

  1. 结构:结构是值类型,通过结构可以把相关的多种类型数据(变量)组成整体来处理,组成结构类型的各个变量称为结构的数据成员。所有的基类型都是结构型。例如:int对应System.int32结构,String对应System.String结构,通过使用结构可以创建更多的值类型。

 

  1. 枚举:用枚举来表达一组特定的值的集合行为。实际上是为一组在逻辑上密不可分的整数值提供便于记忆的符号。
  • 引用类型:

引用类型不存储它们所代表的实际数据,而是存储实际数据的引用。引用类型分两步创建:首先在堆栈上创建一个引用变量,然后再堆上创建对象本身,再把这个内存的句柄(也就是内存的首地址)赋引用变量。

String s1,s2;
S1="ABCD";s2=s1

  • 装箱和拆箱:

值类型和引用类型之间的转换成为装箱与拆箱。通过装箱和拆箱,可以轻松实现值类型和引用类型的相互转换。

 

  1. 装箱:是值类型转换为Object类型,或者转换为由值类型所实现的任何接口类型。把一个值类型的值装箱,也就是创建一个对象并把这个值赋给这个对象。例如:
int i=123; //把"123"赋给int型变量i
Object o=i; //装箱操作
  1. 拆箱:拆箱操作和装箱操作正好相反,是从Object类型转换为值类型,或者是将一个接口类型转换为一个实现该接口的值类型。步骤:一是检查对象实例是否是给定的值类型的装箱值,二是将值从对象实例中复制出来。例如:
int i=123; //把"123"赋给int型变量i
Object o=i; //装箱操作
Int j=(int)o; //拆箱操作

抱歉!评论已关闭.