【问题标题】:What is the difference between a class and a datatype?类和数据类型有什么区别?
【发布时间】:2011-07-07 01:07:13
【问题描述】:

我听到了以下声明:

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

谁能给我解释一下这到底是什么意思?

【问题讨论】:

  • 你的问题不清楚。能改一下吗?
  • 一个更好的问题是解释数据类型、类和结构之间的区别... ;)
  • 我认为编辑可能改变了问题的含义。最初,问题读作“作为数据类型的类...”,这可能是为了作为转换语句。只是一个想法。

标签: c# .net oop class types


【解决方案1】:

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

数据类型可以描述为:

内置数据类型,例如 int 或字符,或

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

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

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

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

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

【讨论】:

    【解决方案2】:

    是引用类型。

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

    引用类型在堆上分配,内存管理由垃圾收集器处理。 值类型在堆栈或内联中分配,并在超出范围时被释放。一般来说,值类型的分配和解除分配成本更低。

    例如

    class Person
    {
       string name;
    }
    

    在这个类中,Person 是引用类型,name 是值类型,即数据类型。

    struct Person
    {
       string name;
    }
    

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

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

    参考MSDN article on Classes and StructuresMSDN article on Reference Type and Value Type

    【讨论】:

      【解决方案3】:

      类是一个面向对象的编程概念,数据类型是所有编程范式的通用。类是数据类型,但数据类型不是类

      【讨论】:

        【解决方案4】:

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

        【讨论】:

          【解决方案5】:

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

          数据类型:

          • 结构
          • 枚举
          • 委托
          • 接口

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

          【讨论】:

            【解决方案6】:

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

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

            这里,int 是一种数据类型,big 是类名。

            希望您对此有所了解!

            【讨论】:

            • 如果数据类型在其自己的内存分配中保存数据,则该数据类型是值类型。引用类型包含指向另一个保存数据的内存位置的指针。
            【解决方案7】:

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

            【讨论】:

              【解决方案8】:

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

              【讨论】:

                【解决方案9】:

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

                【讨论】:

                  【解决方案10】:

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

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

                  查看Wikipedia page 了解更多信息

                  【讨论】:

                    猜你喜欢
                    • 1970-01-01
                    • 2010-10-02
                    • 1970-01-01
                    • 1970-01-01
                    • 1970-01-01
                    • 1970-01-01
                    • 2016-01-23
                    • 2016-05-04
                    • 2016-01-02
                    相关资源
                    最近更新 更多