首页 / 软件开发 / C# / C#基础(四)(C#预定义值类型和引用类型)
C#基础(四)(C#预定义值类型和引用类型)2011-08-16 博客园 asp114一、预定义类型。1、值类型和引用类型C#中的数据类型,可以分为值类型和引用类型,值类型存储在堆栈上,而引用类型存储在托管堆上。如下代码示例,int i=10;int j=i;i和j的值都是10,并且在内存中会有两个地方存储10.再看下面的代码Vector x=new Vector();
x.Value=20;
Vector y=x;
Console.WriteLine(y.Value);
y.Value=50;
Console.WriteLine(x.Value);
Vector是一个引用类型,引用类型在使用的时候需要new 来实例化一个。这段代码执行后,只有一个 Vector对象,x,y都指向包含该对象的内存地址。因为x,y存储的都是对象的引用,所以当y改变的时候, x也会改变。所以该程序输出的结果是20和50.如果变量是一个引用,就可以把其值设置为null,表示不指向任何对象。2、CTS类型。C#的预定义类型并没有内置于语言中,而是内置于.NET Framework中,比如声明一个int类型时,实际 上是.NET结构System.Int32的一个实例。这说明,可以把所有的基本数据类型看作是支持某些方法的类。