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指向原来的对象。
相关文章推荐
- [C#基础]5.预定义和引用类型
- CSharp预定义引用类型—C#基础回顾
- C#基础(四)(C#预定义值类型和引用类型)
- C#基础(四)(C#预定义值类型和引用类型)
- C#语言学习--基础部分(十一) --值类型和引用类型
- [C#基础知识]Ref 关键字在修饰在引用类型时的行为
- C#基础回顾之1——值类型与引用类型
- C#学习笔记(基础知识回顾)之值类型与引用类型转换(装箱和拆箱)
- C#基础知识整理:基础知识(11) 值类型,引用类型
- [c#基础]值类型和引用类型的Equals,==的区别
- C#1所搭建的核心基础(二)-值类型和引用类型
- C#预定义数据类型之值类型和引用类型介绍
- [No0000B9]C# 类型基础 值类型和引用类型 及其 对象复制 浅度复制vs深度复制 深入研究2
- C#基础知识整理:基础知识(11) 值类型,引用类型
- CLR via C#深解笔记三 - 基元类型、引用类型和值类型 | 类型和成员基础 | 常量和字段
- 30天C#基础巩固-----值类型/引用类型,泛型,空合并操作符(??),匿名方法
- 【C#基础】值类型和引用类型
- C# 类型基础 之 值类型 和 引用类型
- C#基础----值类型与引用类型
- C#基础之值类型和引用类型的== 与 Equals,string和object的特殊性