C#:数据类型是否与类型相同?

时间:2010-09-09 18:20:16

标签: c# types

也许是愚蠢但我不确定类型和数据类型之间是否存在差异

int是数据类型

class A{}

A是类型还是数据类型?

6 个答案:

答案 0 :(得分:7)

实际上在.NET中有引用类型和值类型。值类型为enumstruct,引用类型为class

intSystem.Int32的别名,它是一个结构,因此是值类型,而在您的情况下,A是类,因此引用类型。

答案 1 :(得分:4)

同样的事情

答案 2 :(得分:2)

在任何.NET语言中都没有“数据类型”这样的东西。 “数据类型”通常用于阐明“类型”以引用变量的实际运行时类型,而不是更为抽象的概念,即存在哪种“类型”。

int是所谓的值类型。所有基本类型(intdoublechar等)都是值类型,但string除外,它是一种引用类型(尽管与值类型一样) ,这是不可改变的。)

声明为class的任何对象都是引用类型。声明为struct的任何对象都是值类型

答案 3 :(得分:0)

同样的事情,只需将其视为Type。具体而言,示例中的A是引用类型。

答案 4 :(得分:0)

A是一种类型,可以包含属性/成员变量,可以是其他类型或数据类型(intstring

但是,就框架而言,一切都是一种类型(参考或价值)。

答案 5 :(得分:0)

来自C#Spec Section 1.3

  

1.3类型和变量

     

C#中有两种类型: 值类型 参考   类型 即可。值类型的变量   直接包含他们的数据   参考类型的变量存储   引用他们的数据,后者   被称为物体。供参考   类型,有可能两个   变量引用同一个对象   因此可以进行操作   一个影响对象的变量   由另一个变量引用。同   值类型,每个变量都有   他们自己的数据副本,它是   不可能对一个人进行操作   影响另一方(案件除外)   ref和out参数变量)。

     

C#的值类型进一步分为 简单类型,枚举   类型,结构类型, 和    可空类型 ,C#的引用类型进一步划分   进入 类类型,接口类型,   数组类型 委托   类型

和int是一个值类型,它也是一个简单类型,也是一个有符号整数

class a {}是一种引用类型,它是用户定义的类类型。