C# 和公共语言运行时 (CLR) 中有两种类型:引用类型(在 C# 中用类声明)和值类型(在 C# 中用结构声明)。引用和值类型在几个重要方面有所不同。下表概括了这些区别:
引用(类) | 值(结构) | |
---|---|---|
保留变量 | 引用 | 实际值 |
活动值 | 在堆中 | 内联(在堆栈中或与对象内联) |
默认值 | Null | 零 |
= 表示 | 复制引用 | 复制值 |
引用类型用于所有不能用作值类型的对象。引用类型的变量指向堆中对象的实例。这意味着在将一个变量指定给另一个变量时,只是指定了引用,而不是值。
C# 和公共语言运行时 (CLR) 中有两种类型:引用类型(在 C# 中用类声明)和值类型(在 C# 中用结构声明)。引用和值类型在几个重要方面有所不同。下表概括了这些区别:
引用(类) | 值(结构) | |
---|---|---|
保留变量 | 引用 | 实际值 |
活动值 | 在堆中 | 内联(在堆栈中或与对象内联) |
默认值 | Null | 零 |
= 表示 | 复制引用 | 复制值 |