2010-09-09 65 views

回答

2

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

int是什么被称为值类型。所有基元类型(int,double,char等)都是值类型,但是string是一个引用类型(尽管与值类型一样,它是不可变的)。

声明为class的任何对象是参考类型。声明为struct的任何对象是值类型

4

同样的事情

7

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

intSystem.Int32的别名,它是一个struct等值类型,而在你的情况下,A是类,所以引用类型。

+4

这是一个重要的区别理解,但“数据类型”和“类型”指的是相同的概念。 – 2010-09-09 18:23:50

+1

引用类型可以为空,而值类型不可以。 – Larry 2010-09-09 18:24:27

+1

@controlbreak:C#3.0引入了可为空的值类型。请参见[这里](http://msdn.microsoft.com/en-us/library/1t3y8s4s.aspx):“可空类型表示值类型变量,可以赋值为null。” – 2010-09-09 18:26:50

0

同样的事情,只要把它想成Type即可。具体来说,你的例子中的A是一个引用类型。

0

A是一类可以有属性/成员变量,其可以是其它类型或数据类型(intstring

但随后的,在框架一切方面是一种类型(参考或值)。

0

从C#规范第1.3

1.3类型和变量

有两种类型在C#:值类型参考 类型。值类型变量 直接包含它们的数据,而 引用类型变量存储 引用其数据,后者 被称为对象。参考 类型,两个变量可能会引用同一个对象 ,因此可能会影响其他变量所引用的对象 对象 上的操作。使用 值类型时,变量各自有 自己的数据副本,并且它是 不可能对1到 的操作影响其他(除 的ref和out参数变量外)。

C#的值类型进一步分为简单类型,枚举 类型,结构类型,空类型,和C#的参考类型进一步划分 成类类型,接口类型, 阵列类型代表 类型

和int是一个值类型,这也是一个简单的类型,并且也是符号整型

类{}是引用类型是一个类类型,它是用户定义的。

相关问题