| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2767 人关注过本帖
标题:游戏开发中NET的装箱和拆箱操作你会用吗?
取消只看楼主 加入收藏
菜鸟在线哈哈
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2016-5-12
收藏
 问题点数:0 回复次数:0 
游戏开发中NET的装箱和拆箱操作你会用吗?
  游戏开发的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);
搜索更多相关主题的帖子: 游戏开发 垃圾回收 Object 
2016-09-13 17:31
快速回复:游戏开发中NET的装箱和拆箱操作你会用吗?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016572 second(s), 11 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved