C#中值类型和引用类型的区别(http://space.itpub.net/12639172/viewspace-501584)
来源:互联网 发布:cr2看图软件 编辑:程序博客网 时间:2024/04/19 18:18
http://space.itpub.net/12639172/viewspace-501584
概念:
1.值类型:数据存储在内存的堆栈中,从堆栈中可以快速地访问这些数据,因此,值类型表示实际的数据。
2.引用类型:表示指向存储在内存堆中的数据的指针或引用(包括类、接口、数组和字符串)。
区别:
基本区别在于它们在内存中的存储方式。值类型只将值存放在内存中,这些值类型都存储在堆栈中。原始数据类型(如bool和int)都属于此类型。而引用类型的内存单元中只存放内存堆中对象的地址,而对象本身放在内存堆中。如果引用的值类型的值是null,则表示未引用任何对象。
下面我用两个例子说明它们的区别,这两个例子是我在VS2005开放环境中编译通过的:
新建一个控制台应用程序:取名test1
using System;
using System.Collections.Generic;
using System.Text;
namespace Test1
值类型
命令提示符窗口得出的结果:
为了说明问题,再新建一个控制台应用程序:取名test2
引用类型
命令提示符窗口得出的结果:
总结:
特点
值类型
引用类型
变量存放的内容
实际值
引用
内存单元
内联(堆栈)
堆
默认值
0
空
传递给方法的参数
复制值
复制引用
- C#中值类型和引用类型的区别(http://space.itpub.net/12639172/viewspace-501584)
- http://space.itpub.net/15142212/viewspace-589359
- http://space.itpub.net/95429/viewspace-433133
- C#中值类型和引用类型区别
- 彻底理解C#中值类型和引用类型的区别
- C#中值类型和引用类型的区别
- 理解C#中值类型和引用类型的区别
- C#中值类型和引用类型的区别
- C#中值类型和引用类型的区别浅记
- C# 中值类型和引用类型的区别
- C#中值类型和引用类型的区别
- 彻底理解C#中值类型和引用类型的区别
- C#中值类型和引用类型的区别深度分析
- C#中值类型和引用类型的区别深度分析
- C#中值类型和引用类型的区别
- http://space.itpub.net/?uid-92530-action-viewspace-itemid-128009
- 基于 Cognos 的轻量级人力资源系统商业建模介绍(http://space.itpub.net/15082138/viewspace-590671)
- C#中值类型和引用类型及类型的转换
- 关于js中类的概念
- BW:BW的Oracle数据库(非法操作,嘿嘿)
- request.getRealPath("") 的替代方法
- 函数传值与传地址的比较
- 嵌入式Linux系统BSP简介
- C#中值类型和引用类型的区别(http://space.itpub.net/12639172/viewspace-501584)
- 教你如何在中关村这个险恶的地方买到最便宜的称心如意的笔记本电脑
- inline 函数G++ 优化
- JSP的相对路径深入研究
- WCF vs ASP.NET Web services
- linux 内核定时器
- bash shell快捷键
- Oracle 数据库应用的一些小技巧
- progma 语法