您的位置:首页 > 编程语言 > C#

C#基础(三)引用类型和预定义值类型

2013-12-30 15:02 274 查看
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都指向包含该对象的内在地址。所以输出的结果是20和50.

CTS类型
C#的预定义类型并没有内置于语言中,而是内置于.net Framework中,比如声明一个int类型时,实际上是.net结构System.Int32的一个实例。这说明,可以把所有的基本数据类型看作是支持某些方法的类。

预定义引用类型
1.object类型

这是C#的基类,所有的类都派生自它。

2.string类型

注意,string类型是属于引用类型。在修改一个字符串的时候,实际上是创建了一个新的字符串,而并非修改了原来的字符串。看下面代码:

using System;
using System.Windows;
namespace gosoa.com
{
class MyFirstClass
{
static void Main()
{
string str1="GoSoA.com.cn";
string str2=str1;
Console.WriteLine("str1="+str1);
Console.WriteLine("str2="+str2);
str1="www.GoSoA.com.cn";
Console.WriteLine("str1="+str1);
Console.WriteLine("str2="+str2);
}
}
}

输出:

str1="GoSoA.com.cn";

str2="GoSoA.com.cn";

str1="www.GoSoA.com.cn";

str2="GoSoA.com.cn";

当我们用GoSoA.com.cn来初始化str的时候,就在堆上分配了一个string对象,string也指向了这个对象。当str改变的时候,并不是修改了原有的对象,而是创建了一个新的,而st2指向原来的对象。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: