也许是愚蠢但我不确定类型和数据类型之间是否存在差异
int
是数据类型
class A{}
A是类型还是数据类型?
答案 0 :(得分:7)
实际上在.NET中有引用类型和值类型。值类型为enum
或struct
,引用类型为class
。
int
是System.Int32的别名,它是一个结构,因此是值类型,而在您的情况下,A
是类,因此引用类型。
答案 1 :(得分:4)
同样的事情
答案 2 :(得分:2)
在任何.NET语言中都没有“数据类型”这样的东西。 “数据类型”通常用于阐明“类型”以引用变量的实际运行时类型,而不是更为抽象的概念,即存在哪种“类型”。
int
是所谓的值类型。所有基本类型(int
,double
,char
等)都是值类型,但string
除外,它是一种引用类型(尽管与值类型一样) ,这是不可改变的。)
声明为class
的任何对象都是引用类型。声明为struct
的任何对象都是值类型。
答案 3 :(得分:0)
同样的事情,只需将其视为Type。具体而言,示例中的A是引用类型。
答案 4 :(得分:0)
A
是一种类型,可以包含属性/成员变量,可以是其他类型或数据类型(int
,string
)
但是,就框架而言,一切都是一种类型(参考或价值)。
答案 5 :(得分:0)
来自C#Spec Section 1.3
1.3类型和变量
C#中有两种类型: 值类型 和 参考 类型 即可。值类型的变量 直接包含他们的数据 参考类型的变量存储 引用他们的数据,后者 被称为物体。供参考 类型,有可能两个 变量引用同一个对象 因此可以进行操作 一个影响对象的变量 由另一个变量引用。同 值类型,每个变量都有 他们自己的数据副本,它是 不可能对一个人进行操作 影响另一方(案件除外) ref和out参数变量)。
C#的值类型进一步分为 简单类型,枚举 类型,结构类型, 和 可空类型 ,C#的引用类型进一步划分 进入 类类型,接口类型, 数组类型 和 委托 类型 强>
和int是一个值类型,它也是一个简单类型,也是一个有符号整数
class a {}是一种引用类型,它是用户定义的类类型。