菜鸟在线游戏开发中NET的装箱和拆箱操作你会用吗?(转载)

3天前 (02-13 05:44)阅读1回复0
xx
xx
  • 管理员
  • 注册排名6
  • 经验值129850
  • 级别管理员
  • 主题25970
  • 回复0
楼主

  游戏开发的NET中,数据类型划分为值类型和引用(不等同于C++的指针)类型,与此对应,内存分配被分红了两种体例,一为栈,二为堆,重视:是托管堆。值类型只会在栈平分配。引用类型分配内存与托管堆。托管堆对应于垃圾收受接管。

  在C#中拆箱和拆箱是一个笼统的概念.

  * 拆箱是将值类型的数据转化引用类型

  * 拆箱是将颠末拆箱后引用类型转换为值类型

  游戏开发的拆箱和拆箱的意义:

  操纵拆箱和拆箱功用,可通过容许值类型的任何值与Object 类型的值彼此转换,将值类型与引用类型链接起来.

  第一种办法:挪用一个含类型为Object的参数的办法,该Object可撑持肆意为型,以便通用。当你需要将一个值类型(如Int32)传进时,需要拆箱。

  第二种用法:一个非泛型的容器,同样是为了包管通用,而将元素类型定义为Object。于是,要将值类型数据加进容器时,需要拆箱。

  1) 拆箱

  那是一个拆箱的过程,是将值类型转换为引用类型的过程。

  int i= 123;

  object o= i;

  Console.WriteLine (“对象的值 = {0}", o);

  2)拆箱

  在游戏开发中的上一步的根底上,我们在将引用类型转换为值类型。

  int i=10;

  object o=i;

  int j=(int)o;

  Console.WriteLine("j={0}",j);

0
回帖

菜鸟在线游戏开发中NET的装箱和拆箱操作你会用吗?(转载) 期待您的回复!

取消