在C#控制台应用程序中是否可以有多个main()
方法(具有相同的参数)?如果是这样,怎么样?
答案 0 :(得分:21)
您可以拥有多个main方法,您可以指定编译器将哪个方法用作应用程序的入口点。有关详细信息,请参阅this链接
示例:强>
using System;
using System.Collections.Generic;
using System.Text;
namespace Multiple_MainClasses
{
class A
{
static void Main(string[] args)
{
Console.WriteLine("I am from Class A");
Console.ReadLine();
}
}
class B
{
static void Main(string[] args)
{
Console.WriteLine("I am from Class B");
Console.ReadLine();
}
}
}
当您运行此代码时,您将收到编译错误。要解决在解决方案资源管理器中转到项目属性或按ctrl + alt + L,请转到应用程序选项卡并选择要使用的方法执行类,如下所示:
答案 1 :(得分:4)
是 - 如果您有多个Main方法,则可以指定自定义入口点。 csc /main包含有关它的信息:
如果多个类包含Main方法,则此选项指定包含程序入口点的类。
csc MyClssesWithMain.cs /main:OneOfTheClasses
注意:Main
方法必须在单独的类中,因为在同一个类中不能有2个具有相同签名的方法。
答案 2 :(得分:3)
主要方法是您进入应用程序的入口点。根据其他人提供的文章,定义多个Main方法在语法上是有效的,但是在运行应用程序时必须选择一个main方法。我认为通过使用命令行参数等创建单个主函数并使其更灵活更有意义。