类和数据类型有什么区别?

时间:2011-03-02 06:06:12

标签: c# .net oop class types

我听到以下声明:

  

我们可以说class是一种数据类型,或者数据类型是一种类型。

任何人都可以向我解释这究竟是什么意思吗?

10 个答案:

答案 0 :(得分:13)

  

C#是一种强类型语言;   因此每个变量和对象   必须有一个声明的类型。

数据类型可以描述为:

  

内置数据类型,例如int   或者char,或

     

用户定义的数据类型,例如   类或接口。

     

数据类型也可以定义为   是:

     

值类型(C#参考),其中   存储值,或

     

参考类型(C#参考),其中   存储对实际数据的引用。

** Class是用户定义数据类型。 **

答案 1 :(得分:7)

是参考类型。

数据类型是一种值类型,如果它将数据保存在自己的内存分配中。

引用类型在堆上分配,内存管理由垃圾回收器处理。 值类型在堆栈或内联中分配,并在超出范围时解除分配。通常,值类型分配和取消分配的成本更低。

例如

class Person
{
   string name;
}

在此,类Person是引用类型,name是值类型,即数据类型。

struct Person
{
   string name;
}

在此结构Person是值类型,name也是值类型,即两者都是数据类型。

如果数据类型将数据保存在自己的内存分配中,则数据类型是值类型。引用类型包含指向另一个保存数据的内存位置的指针。

参考MSDN article on Classes and Structures以及MSDN article on Reference Type and Value Type

答案 2 :(得分:5)

类是面向对象的编程概念,数据类型对所有编程范例都是通用的。 Class是数据类型,但数据类型不是类

答案 3 :(得分:3)

来自MSDN的{p> This article在这方面可能有一些用处。它试图用C#来解释对象,类和结构是什么。

答案 4 :(得分:3)

类只是C#中可用的数据类型之一:

数据类型:

  • STRUCT
  • 枚举
  • 代表
  • 接口

注意:我可能在上面的列表中遗漏了一些

答案 5 :(得分:3)

类是一种数据类型。它允许您声明变量及其数据类型。例如:

class big  
{  
    public int a;  
    .......  
    ......    
}    

此处,int是数据类型,big是类名。

希望你对它一无所知!

答案 6 :(得分:2)

类是数据类型。数据类型是一个概念,它不是一个类。也就是说,你看一些东西并对自己说“嗯,是的,那是某种类型的数据”,或者“就是这种数据类型”。然后你说“具体来说,数据类型是List< ..>”,依此类推。

答案 7 :(得分:2)

类是一种数据类型。其他类型的数据类型包括指针类型和接口。

答案 8 :(得分:2)

类是数据类型 如果用户创建了一个类,则称为用户定义的数据类型。

答案 9 :(得分:1)

所有(或几乎)所有编程语言都具有数据类型的概念。数据类型可以是: 整数,双打,布尔等。

C#和其他语言允许我们定义自己的“自定义”数据类型。这就是类的用武之地.OO语言中的自定义数据类型称为类,当我们定义这些类时,它就是类型定义或类型。

请查看此Wikipedia page以获取更多信息