asp教程.net c# 值类型与引用类型详细说明
c# 中的类型有两种:值类型 (value type) 和引用类型 (reference type)。
值类型的变量直接包含它们的数据,而引用类型的变量存储对它们的数据的引用,后者称为对象。
对于引用类型,两个变量可能引用同一个对象,因此对一个变量的操作可能影响另一个变量所引用的对象。
对于值类型,每个变量都有它们自己的数据副本(除 ref 和 out 参数变量外),因此对一个变量的操作不可能影响另一个变量。
c# 的值类型进一步划分为简单类型 (simple type)、枚举类型 (enum type)、结构类型 (struct type) 和可以为 null 的类型 (nullable type)。
c# 的引用类型进一步划分为类类型 (class type)、接口类型 (interface type)、数组类型 (array type) 和委托类型 (delegate type)。
下表为 c# 类型系统的概述。
类别
说明
值类型
简单类型
有符号整型:sbyte、short、int 和 long
无符号整型:byte、ushort、uint 和 ulong
unicode 字符型:char
ieee 浮点型:float 和 double
高精度小数型:decimal
布尔型:bool
枚举类型
enum e {...} 形式的用户定义的类型
结构类型
struct s {...} 形式的用户定义的类型
可以为 null 的类型
其他所有具有 null 值的值类型的扩展
引用类型
类类型
其他所有类型的最终基类:object
unicode 字符串型:string
class c {...} 形式的用户定义的类型
接口类型
interface i {...} 形式的用户定义的类型
数组类型
一维和多维数组,例如 int[] 和 int[,]
委托类型
例如,delegate int d(...) 形式的用户定义的类型
八种整型类型分别支持 8 位、16 位、32 位和 64 位整数值的有符号和无符号的形式。
两种浮点类型:float 和 double,分别使用 32 位单精度和 64 位双精度的 ieee 754 格式表示。
decimal 类型是 128 位的数据类型,适合用于财务计算和货币计算。
c# 的 bool 类型用于表示布尔值 — 为 true 或者 false 的值。
在 c# 中,字符和字符串处理使用 unicode 编码。char 类型表示一个 utf-16 编码单元,string 类型表示 utf-16 编码单元的序列。
|