C#主要静态类

时间:2014-09-28 08:48:49

标签: c#

在C#主类中为什么不是静态的? 两者都很好。

namespace CS_Console
{
    class Program
    {
        static void Main(string[] args)
        {

        }
    }
}

namespace CS_Console
{
    static class Program
    {
        static void Main(string[] args)
        {

        }
    }
}

这两者之间有什么区别?

3 个答案:

答案 0 :(得分:4)

因为您可能选择将其他成员添加到Program类中而不需要是静态的。在Main方法中,您可以创建Program类的实例,并将其视为任何其他类。

答案 1 :(得分:2)

静态类与非静态类基本相同,但有一个区别:静态类无法实例化。因此,您上面提到的代码示例都有效。
有关详细信息,请Click Here

答案 2 :(得分:1)

遵循C#的传统编码指南。只应包含静态方法的类应声明为static。由于Main必须是静态的,因此最好将您的类声明为静态。

Program可以声明为非静态,但您可能已经知道,static Main必须保持静态,因为它是一个入口点。 Program的责任是为您的应用程序提供一个入口点,仅此而已。它需要做的只包含一个名为static的{​​{1}}方法,而Main始终被声明为Main,没有理由static应该'也是。

可以找到更多信息here