是否必须在C#中写入静态void Main(字符串[]args)?

是否必须在C#中写入静态void Main(字符串[]args)?,c#,C#,因为我刚刚调试了一个非常简单的程序,它将运行时输入作为两个数字,并显示这两个数字的总和。我没有写字符串[]args就这样做了。那么真的有必要在每个程序中编写这些吗?主要方法是C#console应用程序或windows应用程序的入口点。(库和服务不需要主方法作为入口点。)。当应用程序启动时,Main方法是调用的第一个方法。 C#程序中只能有一个入口点。如果有多个类具有Main方法,则必须使用/Main编译器选项编译程序,以指定使用哪个Main方法作为入口点。有关更多信息,请参阅/main(C#编译

因为我刚刚调试了一个非常简单的程序,它将运行时输入作为两个数字,并显示这两个数字的总和。我没有写字符串[]args就这样做了。那么真的有必要在每个程序中编写这些吗?

主要方法是C#console应用程序或windows应用程序的入口点。(库和服务不需要主方法作为入口点。)。当应用程序启动时,Main方法是调用的第一个方法。 C#程序中只能有一个入口点。如果有多个类具有Main方法,则必须使用/Main编译器选项编译程序,以指定使用哪个Main方法作为入口点。有关更多信息,请参阅/main(C#编译器选项)。

  • 主要方法是.exe程序的入口点;它是程序控制开始和结束的地方
  • Main在类或结构中声明。Main必须是静态的,不应该是公共的。(在前面的示例中,它接收private的默认访问。)封装类或结构不要求是静态的

  • 字符串[]args部分用于支持命令行开关的情况

    myprogram.exe argument1 argument2
    

    如果您没有使用它们的计划,则不需要参数。

    公共意味着从外部可以看到方法。这是有意义的,因为您希望加载程序从外部启动此方法。但当然:从技术上讲,它有可能获得任何其他权利。但是您必须看到,您现在甚至可以加载程序集并自己启动此方法,这在某些情况下可能很重要

    静态意味着可以调用函数,而无需先调用类的实例。这很有意义,因为Main是入口点,您希望调用此函数时不首先调用类的实例。 如果要在从命令行调用应用程序时使用arguments list,C#语言会提供一个名为args的字符串[]数组,该数组由Windows操作系统的命令行参数填充。例如,您执行应用程序时,希望将一些参数传递给应用程序,以便在您从命令行调用应用程序的代码中进行进一步处理,如下所示:

    “C:\ConsoleApplication1.exe a b C”

    值a b c将存储在args字符串数组中,可以如下方式访问:

    for (int i = 0; i < args.Length; i++) // Loop through array
    {
    string argument = args[i];
    Console.Write(argument); // Write string
    }
    
    for(int i=0;i

    你也可以试试这篇文章:

    不,这不是强制性的

    有关的文件明确指出:

    Main方法可以使用包含命令行参数的string[]参数来声明,也可以不使用来声明

    因此,这也是一个有效的切入点:

    static void Main()
    {
        Console.WriteLine("Hello world");
    }
    

    我建议你学习阅读语言文档来回答这些问题。那样容易得多。