在C#主类中为什么不是静态的? 两者都很好。
namespace CS_Console
{
class Program
{
static void Main(string[] args)
{
}
}
}
namespace CS_Console
{
static class Program
{
static void Main(string[] args)
{
}
}
}
这两者之间有什么区别?
答案 0 :(得分:4)
因为您可能选择将其他成员添加到Program类中而不需要是静态的。在Main方法中,您可以创建Program类的实例,并将其视为任何其他类。
答案 1 :(得分:2)
静态类与非静态类基本相同,但有一个区别:静态类无法实例化。因此,您上面提到的代码示例都有效。
有关详细信息,请Click Here
答案 2 :(得分:1)
遵循C#的传统编码指南。只应包含静态方法的类应声明为static。由于Main
必须是静态的,因此最好将您的类声明为静态。
Program
可以声明为非静态,但您可能已经知道,static Main
必须保持静态,因为它是一个入口点。 Program
的责任是为您的应用程序提供一个入口点,仅此而已。它需要做的只包含一个名为static
的{{1}}方法,而Main
始终被声明为Main
,没有理由static
应该'也是。
可以找到更多信息here。