15

main()在 C# 控制台应用程序中是否可以有多个方法(具有相同的参数)?如果是这样,怎么做?

4

3 回答 3

23

您可以有多个 main 方法,您可以指定编译器将哪个用作应用程序的入口点。有关更多详细信息,请参阅此链接

例子:

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,转到应用程序选项卡并选择您要执行的方法的类,如下所示:

在此处输入图像描述

于 2013-07-12T05:36:03.677 回答
4

是的 - 如果您有多个 Main 方法,您可以指定自定义入口点。csc /main包含有关它的信息:

如果多个类包含 Main 方法,则此选项指定包含程序入口点的类。

csc MyClssesWithMain.cs /main:OneOfTheClasses

注意:Main方法必须在不同的类中,因为在同一个类中不能有 2 个具有相同签名的方法。

于 2013-07-12T05:36:35.803 回答
3

main 方法是您进入应用程序的入口点。根据其他人提供的文章,定义多个 Main 方法在语法上是有效的,但是在运行您的应用程序时您必须选择一个 main 方法。我认为创建单个主函数并通过使用命令行参数等使其灵活更有意义。

于 2013-07-12T05:32:41.803 回答