<分区>
阅读一本关于 C# 的书时,我注意到有时会提到值类型,有时会提到某些数据类型(例如 int、double)的原始类型。我以为他们是一样的东西,但他们真的一样吗?
值类型和原始类型有什么区别? 它们是一样的吗?
编辑
这个问题不仅与 C# 编程语言有关,我想知道它们在任何其他语言中有何不同。
<分区>
阅读一本关于 C# 的书时,我注意到有时会提到值类型,有时会提到某些数据类型(例如 int、double)的原始类型。我以为他们是一样的东西,但他们真的一样吗?
值类型和原始类型有什么区别? 它们是一样的吗?
编辑
这个问题不仅与 C# 编程语言有关,我想知道它们在任何其他语言中有何不同。
最佳答案
原始类型(例如 int
)可以直接映射到基类库 (BCL) 类型(例如 System.Int32
)
值类型继承自 System.ValueType
并按值(以及其他属性)传递。
它们不可互换,因为 object
(System.Object
) 是原始类型但不是值类型,而结构是值类型但不是原始类型。
查看更多差异 here
关于c# - 值类型和原始类型有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12680272/