int是值类型还是引用类型?

时间:2010-06-11 21:44:01

标签: c#

为什么我一直听到int是引用类型,但我看到int是structstruct是值类型。感谢。

5 个答案:

答案 0 :(得分:9)

整数为Value types

价值类型的主要特征

基于值类型的变量直接包含值。将一个值类型变量分配给另一个值复制包含的值。这与引用类型变量的赋值不同,后者复制对象的引用而不是对象本身。

所有值类型都是从System.ValueType隐式派生的。

与引用类型不同,您无法从值类型派生新类型。但是,与引用类型一样,结构可以实现接口。

与引用类型不同,值类型不能包含空值。但是,可空类型功能允许将值类型分配为null。

每个值类型都有一个隐式默认构造函数,用于初始化该类型的默认值。有关值类型的默认值的信息,请参阅默认值表。

答案 1 :(得分:4)

Int当然不是C#中的引用类型。它是一个数值结构,它是一种值类型。在谈论C#时,说int是引用类型是不正确的。

答案 2 :(得分:1)

int绝对是值类型。但是,在某些情况下,可以将其装箱(请参阅此article以获得解释)为参考类型。

答案 3 :(得分:0)

int是一种值类型。或者,如果需要,您可以使用Nullable<int>

答案 4 :(得分:0)

int是值类型,对象是引用类型,但默认类型是值

相关问题