值类型和引用类型的最基本的区别是什么?

C#将类型分为两类,一类是值类型,另一类是引用类型。大部分固有的基本类型(如整型,浮点型)是值类型,结构类型也是值类型。引用类型包括类、接口、数组和字符串。基本的概念非常简单,那就是一个值类型的实例代表了实际的数据(存在栈中),而一个引用类型的实例代表指向数据的指针或者引用(存在堆中)。

在C#中是这样的:

int x1 = 3; // x1是堆栈上的值   
int x2 = new int();   
x2 = 3; // x2还是堆栈上的值!

posted on 2012-06-25 14:03  流星落  阅读(196)  评论(0编辑  收藏  举报

导航