结构中的Main()与类之间是否有区别?

时间:2019-04-08 23:07:52

标签: c# class struct entry-point

比方说,在C#中,我的Main()函数放在一个Entry类中,该类仅用于容纳入口点。我会这样:

public class Entry
{

    public static void Main()
    {

        ...

    }

}

我认为这是非常典型的,至少在工作的某些Java项目中,我看到类仅存在于main()函数中,并且从未三思而行。但是,当我学习更多有关C#和结构的信息时,我尝试执行以下操作:

public struct Entry
{

    public static void Main()
    {

        ...

    }

}

,并且在视觉上完全相同。因此,假设您在C#中的入口点仅包含您的Main()函数,那么与运行时的struct相比,使它成为容器class有什么实际区别吗?

1 个答案:

答案 0 :(得分:3)

答案是,关于入口点(和您的约束),除了在这里和那里的几个字节之外,没有明显的区别。但是,我认为这种情况并不常见。

请访问文档

Main() and command-line arguments (C# Programming Guide)

  

Main方法是C#应用程序的入口点。 (图书馆和   服务不需要Main方法作为入口点。)当   应用程序启动后,Main方法是第一个方法,即   调用。

     

概述

     
      
  • Main方法是可执行程序的入口;这是程序控件开始和结束的地方。
  •   
  • Main在类或结构中声明。 main必须是静态的,并且不必是公共的。 (在前面的示例中,它收到了   私有的默认访问权限。)封闭的类或结构不是   必须是静态的。
  •   
     

...