C# `class`关键字和用户定义的数据类型

C# `class`关键字和用户定义的数据类型,c#,.net,oop,C#,.net,Oop,标题可能有点奇怪。我不知道如何更好地命名这个问题 突然,我对数据类型感到非常困惑。如果类是用户定义的数据类型,那么关键字Class的作用是什么 例如: internal class MyClass { } static class Main { static int Main(string[] args) { MyClass mc = new MyClass(); }

标题可能有点奇怪。我不知道如何更好地命名这个问题

突然,我对数据类型感到非常困惑。如果类是用户定义的数据类型,那么关键字
Class
的作用是什么

例如:

    internal class MyClass
    {
    }

    static class Main
    {

        static int Main(string[] args)
        {
            MyClass mc = new MyClass();
        }

     }
那么这里,用户定义的数据类型是MyClass吗?如果是,关键字
class
的作用是什么

我以为
class
只是用户定义数据类型的蓝图。我不再那么肯定了


如果你不理解这个问题,请发表评论,这样我可以试着说得更清楚。

用户定义的类型有很多种-
class
只是其中之一;另见:

  • struct
  • enum
  • 代表
  • 接口

这里,
class
告诉编译器您正在定义一个引用类型单继承类型。

用户定义的类型有很多种-
class
只是其中之一;另见:

  • struct
  • enum
  • 代表
  • 接口

在这里,
class
告诉编译器您正在定义引用类型单继承类型。

那么该类别是否也为编译器提供了指导?例如,如果您定义的数据类型的类别是
enum
,编译器知道不允许在其中包含方法。@RoK基本上是,是-尽管不仅仅是是否允许方法-整个语法对于enum和委托是不同的;结构、类和接口有很多相似之处,但类别是否也为编译器提供了指导?例如,如果您定义的数据类型的类别是
enum
,编译器知道不允许在其中包含方法。@RoK基本上是,是-尽管不仅仅是是否允许方法-整个语法对于enum和委托是不同的;结构、类和接口有很多相似之处