C# 和公共语言运行时 (CLR) 中有两种类型:引用类型(在 C# 中用类声明)和值类型(在 C# 中用结构声明)。引用和值类型在几个重要方面有所不同。下表概括了这些区别:

引用(类) 值(结构)
保留变量 引用 实际值
活动值 在堆中 内联(在堆栈中或与对象内联)
默认值 Null
= 表示 复制引用 复制值
值类型“感觉上”象一个数据。它包括预定义数值类型以及用户定义的类型(如 Complex 数字、PointRectangle)。如上文所述,值类型的变量是实际的值,所以在您使用变量时,通常处理的是实际的值。

引用类型用于所有不能用作值类型的对象。引用类型的变量指向堆中对象的实例。这意味着在将一个变量指定给另一个变量时,只是指定了引用,而不是值。
posted on 2005-08-06 12:17  forrestsun  阅读(247)  评论(0编辑  收藏  举报