box unboxing C#编程指南
2014-05-06 22:57
423 查看
box在堆栈中创建一个新的对象,性能消耗大
int i = 123; // Boxing copies the value of i into object o. object o = i;
.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }
![](http://images.cnitblog.com/blog/363476/201405/062256344011318.png)
unboxing 1.检查对象实例
2.将该值从实例复制到值类型变量中
int i = 123; // a value type object o = i; // boxing int j = (int)o; // unboxing
.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }
![](http://images.cnitblog.com/blog/363476/201405/062256361826362.png)
装箱和折箱都会引用性能的消耗,如:ArrayList使用泛型集合:(List<T>) 来避免box
参考自:http://msdn.microsoft.com/zh-cn/library/yz2be5wk.aspx
http://msdn.microsoft.com/zh-cn/library/ms173196.aspx
相关文章推荐
- DS300配置和安装指南
- ISA Server 2006 实验指南(二)、阵列 NLB
- DB2 9 基础(730 考试)认证指南,第 2 部门: 平安性(3)
- flash动画学习指南八:动画编辑器
- Bookmarklet编写指南
- Linux输入子系统:输入设备编程指南 -- input-programming.txt
- HotSpot Builder Utility安装指南
- Gradle使用指南
- Ubuntu桌面入门指南
- cuda编程指南
- Java1.5泛型指南中文版(Java1.5 Generic Tutorial)
- [翻译]Ndiswrapper终极使用指南
- Informix IDS 11系统治理(918测验)认证指南,第 7 部门: IDS复制(25)
- iphone编程指南学习笔记2
- 高质量C++/C编程指南 -- 第1章 文件结构
- 比特币开发者指南(简介)
- Chrome 控制台不完全指南
- Python logging使用指南
- JNI/NDK开发指南(七)
- 好用的K8S1.8.4 集群二进制安装指南